Die VBA-Funktion SpecialCells(xlCellTypeBlanks) funktioniert in Excel nicht wie erwartet

Symptome

Wenn Sie ein VBA-Makro (Microsoft Visual Basic for Applications) erstellen, das mehrere nicht zusammenhängende Bereiche in einer Microsoft Excel-Arbeitsmappe auswählt, die einen VBA-Ausdruck verwendet, der dem folgenden ähnelt, treten Aktionen auf, die nur mit nicht zusammenhängenden Zellen auftreten sollten, für jede Zelle in der ursprünglichen Auswahl auf dem Arbeitsblatt:

expression.SpecialCells(XlCellType).expression XlCellType

kann eine der folgenden Optionen sein:

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

Ursache

Dieses Verhalten tritt auf, wenn Sie mehr als 8.192 nicht zusammenhängende Zellen mit Dem Makro auswählen. Excel unterstützt nur maximal 8.192 nicht zusammenhängende Zellen über VBA-Makros.

Wenn Sie versuchen, mehr als 8.192 nicht zusammenhängende Zellen manuell auszuwählen, erhalten Sie in der Regel die folgende Fehlermeldung:

Die Auswahl ist zu groß.

Wenn Sie jedoch ein VBA-Makro verwenden, um die gleiche oder eine ähnliche Auswahl vorzunehmen, wird keine Fehlermeldung ausgelöst, und es wird kein Fehlercode generiert, der über einen Fehlerhandler erfasst werden kann.

Problemumgehung

Um dieses Verhalten zu umgehen, sollten Sie eine Schleifenstruktur in Ihrem VBA-Makro erstellen, die weniger als die maximal 8.192 Zellen verarbeitet.

Status

Es handelt sich hierbei um ein beabsichtigtes Verhalten.