Leere und gefüllte Excel-Zellen per VBA bestimmen

Leere und gefüllte Excel-Zellen per VBA bestimmen

Wie Sie Zellen mit einem Makro untersuchen

Sie möchten Zellen auswerten und feststellen, wie viele Zellen in einem Bereich gefüllt sind und wie viele nicht? Ein Beispiel zeigt die folgende Abbildung:

Die Markierung A1:B7 enthält einige leere und einige gefüllte Zellen. Wenn Sie das in einem Makro auswerten möchten, können Sie den folgenden Programmcode einsetzen:

 

Sub ZaehleGefuellteZellen()
Dim Anzahl As Long
Dim Anzahl2 As Long
Dim Bereich As Range
Dim a As String
Set Bereich = Selection
Anzahl = Application.CountA(Bereich)
Anzahl2 = Bereich.Cells.Count - Anzahl
a = MsgBox("In der aktuellen Markierung sind " _
& Anzahl & " Zellen gefüllt und " & Anzahl2 _
& " Zellen leer.", vbOKOnly, "Zellen auswerten")
End Sub

Das Makro setzt die Funktion CountA ein, um die Anzahl der nicht leeren Zellen in einem Bereich zu zählen. Das Ergebnis speichert die Variable Anzahl. Um die Anzahl der gefüllten Zellen zu bestimmen, wird dieser Wert von der Anzahl der untersuchten Gesamtzellen abgezogen. Diesen Wert speichert das Makro in Anzahl2.

Nach dem Start ermittelt der Programmcode die Anzahl der gefüllten und leeren Zellen in der aktiven Markierung und zeigt das Ergebnis in einem Fenster an:

Falls Sie nicht die aktuelle Markierung, sondern einen Bereich Ihrer Wahl verarbeiten möchten, passen Sie die Wertzuweisung an die Variable Bereich an. Sie wird im Makro mit der Eigenschaft Selection verknüpft. Wenn Sie stattdessen einen Bereich selbst festlegen möchten, ersetzen Sie die Set-Zuweisung an die Variable Bereich durch einen Ausdruck der folgenden Form:

Set Bereich = Range("A1:B5")

Die Bereichsangabe bezieht sich immer auf das aktive Tabellenblatt. Wenn Sie ein anderes Tabellenblatt ansprechen möchten, setzen Sie vor dem Range-Befehl die Verweise auf die Methoden Workbooks und Sheets fest.