VBA COUNTA

COUNTA-Arbeitsblattfunktion in Excel VBA

In unserem früheren Artikel „Excel COUNTA“ haben wir gesehen, wie die COUNT-Funktion verwendet wird, um die numerischen Werte aus dem Wertebereich zu zählen. Wie wäre es, alle Werte im Zellbereich zu zählen? Ja, das können wir auch zählen. Um alle Zellenwerte im Zellbereich zu zählen, müssen wir in Excel VBA die Formel „COUNTA“ verwenden. In diesem Artikel zeigen wir Ihnen, wie Sie mit der COUNTA-Funktion in VBA alle Zellenwerte im angegebenen Bereich zählen.

Beispiele für die COUNTA-Funktion in VBA

Eine der Wahrheiten ist, dass die COUNTA-Funktion keine VBA-Funktion ist. Ich weiß, Ihre Frage ist, wenn es keine VBA-Funktion ist, wie verwenden wir sie dann? Keine Sorge, auch wenn es sich nicht um eine VBA-Funktion handelt, können wir sie in der VBA-Codierung unter der Arbeitsblatt-Funktionsklasse verwenden.

Sie können diese VBA COUNTA Excel-Vorlage hier herunterladen - VBA COUNTA Excel-Vorlage

Ok, schreiben wir den Code, um die Excel VBA COUNTA anzuwenden.

Schritt 1: Erstellen Sie einen Unterprozedurnamen.

Schritt 2: Entscheiden Sie nun zunächst, wo das Ergebnis der VBA COUNTA-Funktion gespeichert werden soll. In diesem Beispiel möchte ich das Ergebnis in Zelle C2 speichern. Mein Code lautet also Range ("C2"). Value.

Code:

 Sub Counta_Example1 () Range ("C2"). Value = End Sub 

Schritt 3: In Zelle C2 benötigen wir den Wert der VBA COUNTA-Funktion. Um die Excel VBA COUNTA-Funktion anzuwenden, wenden Sie zunächst die Arbeitsblatt-Funktionsklasse an.

Code:

 Sub Counta_Example1 () Range ("C2"). Value = Work End Sub 

Schritt 4: Wählen Sie nach dem Anwenden der Arbeitsblatt-Funktionsklasse die Formel COUNTA aus, indem Sie einen Punkt einfügen.

Code:

 Sub Counta_Example1 () Range ("C2"). Value = WorksheetFunction.Count End Sub 

Schritt 5: Jetzt müssen wir den Bereich der zu zählenden Zellen angeben. In diesem Beispiel müssen wir den Zellbereich von A1 bis A11 zählen. Stellen Sie die Zellen also mit dem VBA RANGE-Objekt bereit.

Code:

 Sub Counta_Example1 () Range ("C2"). Value = WorksheetFunction.CountA (Range ("A1: A11")) End Sub 

Ok, lassen Sie uns den Code ausführen, um das Ergebnis in Zelle C2 zu erhalten.

Das gleiche Ergebnis lieferte also auch VBA COUNTA.

Auf diese Weise können wir COUNTA verwenden, um die nicht leeren oder nicht leeren Zellen aus dem angegebenen Bereich zu zählen.

Codierung mit Variablen

VBA-Variablen sind der Schlüssel zum Erstellen eines Projekts. Jetzt können wir für dieselben Daten VBA-Variablen deklarieren und zum Ergebnis gelangen.

Ein Beispiel finden Sie im folgenden Code.

Code:

 Sub Counta_Example2 () Dim CountaRange As Range Dim CountaResultCell As Range Set CountaRange = Range ("A1: A11") Set CountaResultCell = Range ("C2") CountaResultCell = WorksheetFunction.CountA (CountaRange) End Sub 

Lassen Sie uns jetzt den obigen Code erklären.

Zuerst habe ich die Variable "CountaRange" als Bereich deklariert, um auf den Wertebereich zu verweisen.

 CountaRange As Range dimmen

Als nächstes habe ich die Referenz als Bereich A1 bis A11 eingestellt.

 Setze CountaRange = Range ("A1: A11")

Die zweite Variable verweist auf die COUNTA-Ergebniszelle.

 CountaResultCell As Range dimmen

Für diese Variable habe ich die Zelle als C2 festgelegt.

 Setze CountaResultCell = Range ("C2")

Jetzt habe ich wie üblich die COUNTA-Funktion mit Variablen anstelle von fest codierten Bereichen angewendet. Schauen Sie sich nun den alten Code und diesen VBA-Code an.

Code 1:

Code 2:

In Code 1 haben wir Bereich C2, in Code 2 haben wir den Variablennamen "CountaResultCell". Hier setzt die Variable "CountaResultCell" die Referenz als C2-Zelle. Diese Variable ist also jetzt C2-Zelle.

In Code 1 ist der COUNTA-Funktionsbereich A1 bis A11, in Code 2 die Variable „CountaRange“. Diese Variable enthält einen Verweis auf den Bereich A1 bis A11.

Dies ist der Unterschied zwischen altem Code und Code mit Variablen.

Die COUNTA-Funktion hilft uns also, alle nicht leeren Zellen aus dem angegebenen Bereich zu zählen, unabhängig von den Daten, über die sie verfügen.