Das ist die vergrößerte Spaltenanzahl und Zeilenanzahl in Excel 2007 und Excel 2010
Das ist die vergrößerte Spaltenanzahl und Zeilenanzahl in Excel 2007 und Excel 2010

Anzahl der Zeilen und Spalten einer Tabelle per VBA-Makro herausfinden

So stellen Sie über ein VBA-Makro fest, wie viele Zeilen und Spalten in einer Excel-Tabelle verwendet werden

Je nach Excel-Version wird in einer Tabelle eine unterschiedliche Anzahl von Zeilen und Spalten angeboten. Wie können Sie das in einem Makro erkennen, wenn Sie alle Zeilen oder Spalten einer Tabelle durchlaufen möchten?

Während es bei Excel bis einschließlich Version 2003 nur 256 Spalten und 65.536 Zeilen gegeben hat, stehen seit Excel 2007 16.384 Spalten und 1.048.576 Zeilen zur Verfügung.

Für beide verschiedenen Tabellenblätter gibt es in Excel auch unterschiedliche Speicherformate: XLS und XLSX. Es ist aber nicht so, dass eine XLSX-Datei automatisch über die größer dimensionierten Tabellenblätter verfügen muss. Wenn eine Datei im Kompatibilitätsmodus geöffnet wird, stehen auch in Excel 2007 und Excel 2010 nur die früheren Tabellenausdehnungen zur Verfügung.

Wenn Sie daher in einem Makro feststellen möchten, wie viele Zeilen und Spalten ein Tabellenblatt besitzt, sollten Sie diese Anzahl direkt abfragen. Das folgende Makro zeigt, wie Sie das erledigen

Sub ZeilenUndSpaltenZahl()
MsgBox ActiveSheet.Cells.Rows.Count & " Zeilen " & _
ActiveSheet.Cells.Columns.Count & " Spalten."
End Sub

Wenn Sie das das Makro mit einem XLS-Tabellenblatt aufrufen, zeigt Ihnen Excel die dazugehörige Anzahl von Zeilen und Spalten an, wie die folgende Abbildung zeigt:

Das Dialogfenster beim Einsatz in Excel bis einschließlich Version 2003

Starten Sie das Makro hingegen aus Excel 2007 oder Excel 2010 ohne Kompatibilitätsmodus, zeigt Ihnen ein Dialogfenster die größeren Dimensionen der Tabelle an:

Das ist die vergrößerte Spaltenanzahl und Zeilenanzahl in Excel 2007 und Excel 2010

In VBA-Schleifen, die alle Zellen einer Tabelle durchlaufen sollen, können Sie daher die beiden Eigenschaften ROWS.COUNT und COLUMNS.COUNT wie beschrieben einsetzen, um die Dimensionen eines Tabellenblatts festzustellen.

Alle theoretisch verfügbaren Zellen per Makro zu durchlaufen, kann (vor allem in Excel 2007 und Excel 2010) sehr lange dauern. Falls Sie Schleifen nur auf den Bereich beschränken möchten, der verwendet wird, empfiehlt sich stattdessen der Einsatz der Eigenschaft USEDRANGE.

Um das Makro einzugeben, drücken Sie in Excel die Tastenkombination ALT F11. Damit starten Sie in allen Excel-Versionen den VBA-Editor. Wählen dort das Kommando EINFÜGEN - MODUL und geben Sie das Makro ein. Um das Makro zu starten, aktivieren Sie in Excel die Tastenkombination ALT F8.