Genutzten Excel-Zellbereich automatisch mit VBA markieren und zählen
© sdecoret - Adobe Stock

Genutzten Excel-Zellbereich automatisch mit VBA markieren und zählen

Um alle verwendeten Zellen einer Tabelle per Makro zu markieren oder zählen zu lassen, benötigen Sie das Makro "UsedRange". Wir zeigen Ihnen anhand von zwei Beispielen, wie Sie dieses richtig einsetzen.

Wenn Sie per Makro Zellen in Ihren Tabellen verarbeiten möchten, sollten Sie sich auf die Zellen beschränken, die auch wirklich Inhalte aufweisen. Das ist einfacher und viel schneller, als alle Zellen in allen Spalten und Zeilen zu durchsuchen. Excel bietet Ihnen zu diesem Zweck die Eigenschaft UsedRange an. Sie verweist auf alle benutzten Zellen einer Tabelle und liefert ein Range-Objekt. 

 

Mit UsedRange die genutzten Excel-Zellen markieren

 

Das folgende Makro zeigt, wie Sie die Eigenschaft in der Praxis einsetzen:

Sub MarkiereAlleGenutzteZellen()
ActiveSheet.UsedRange.Select
End Sub

Die folgende Abbildung zeigt, wie es aussehen kann, wenn das Makro in einer Tabelle eingesetzt wird. Alle verwendeten Zellen werden markiert:

Das Makro markiert immer die Zellen in der aktiven Tabelle. Falls Sie eine andere Tabelle verwenden möchten, ersetzen Sie das Objekt ActiveSheet durch die Referenz auf die entsprechende Tabelle.

So zählen Sie die genutzten Zellbereiche in Excel

Um die Anzahl der Zellen in einer Tabelle zu zählen, die eine Formel enthalten, verwenden Sie das folgende Makro: 

Sub FormelnZaehlen()

Dim Zelle As Range Dim Zaehler As Double Zaehler = 0 For Each Zelle In ActiveSheet.UsedRange. Cells If Zelle. HasFormula Then Zaehler = Zaehler + 1 Next Zelle MsgBox ("Es sind" & Str$(Zaehler) & " Zellen mit Formeln in der aktiven Tabelle.")

End Sub 

Das Makro setzt die Eigenschaft UsedRange.Cells ein, die einen Bezug auf alle Zellen möglich macht, die in der Tabelle in Verwendung sind. Wenn eine Zelle eine Formel enthält, wir die Variable "Zaehler" um 1 hochgezählt. Anschließend erfolgt eine Ausgabe des Ergebnisses in einem Mitteilungsfenster: