Funkce jazyka VBA SpecialCells(xlCellTypeBlanks) nefunguje v Excelu podle očekávání.

Příznaky

Když vytvoříte makro jazyka VBA (Microsoft Visual Basic for Applications), které vybere více nesouvislých oblastí v sešitu aplikace Microsoft Excel, který používá výraz jazyka VBA podobný následujícímu, akce, které měly proběhnout pouze u nesouvislých buněk, proběhnou u každé buňky původního výběru na listu:

expression.SpecialCells(XlCellType).expression XlCellType

může mít některou z následujících možností:

  • xlCellTypeAllFormatConditions
  • xlCellTypeAllValidation
  • xlCellTypeBlanks
  • xlCellTypeComments
  • xlCellTypeConstants
  • xlCellTypeFormulas
  • xlCellTypeSameFormatConditions
  • xlCellTypeSameValidation
  • xlCellTypeVisible

Příčina

K tomuto chování dochází, pokud vyberete více než 8 192 nesouvislých buněk s makry. Excel podporuje maximálně 8 192 nesouvislých buněk prostřednictvím maker jazyka VBA.

Pokud se pokusíte ručně vybrat více než 8 192 nesousehlých buněk, obvykle se zobrazí následující chybová zpráva:

Výběr je příliš velký.

Pokud však použijete makro VBA k provedení stejného nebo podobného výběru, nevyvolá se žádná chybová zpráva a negeneruje se žádný kód chyby, který by bylo možné zachytit prostřednictvím obslužné rutiny chyby.

Řešení

Chcete-li toto chování obejít, můžete v makrech jazyka VBA vytvořit strukturu smyčky, která zpracovává méně než maximálně 8 192 buněk.

Stav

Toto chování je záměrné.