VBA COUNTA

COUNTA-werkbladfunctie in Excel VBA

In ons eerdere artikel "Excel COUNTA" hebben we gezien hoe we de COUNT-functie kunnen gebruiken om de numerieke waarden uit het waardenbereik te tellen. Hoe zit het met het tellen van alle waarden in het celbereik? Ja, dat kunnen we ook tellen. Om alle celwaarden in het celbereik te tellen, moeten we de formule "COUNTA" in Excel VBA gebruiken. In dit artikel laten we u zien hoe u de COUNTA-functie in VBA gebruikt om alle celwaarden in het geleverde bereik te tellen.

Voorbeelden van COUNTA-functie in VBA

Een van de waarheid is dat de "COUNTA" -functie geen VBA-functie is. Ik weet dat je vraag is: als het geen VBA-functie is, hoe gebruiken we het dan? Geen zorgen, ook al is het geen VBA-functie, we kunnen het toch gebruiken onder de werkbladfunctieklasse in VBA-codering.

U kunt deze VBA COUNTA Excel-sjabloon hier downloaden - VBA COUNTA Excel-sjabloon

Oké, laten we de code schrijven om de Excel VBA COUNTA toe te passen.

Stap 1: Maak een subprocedurenaam.

Stap 2: Bepaal nu eerst waar we het resultaat van de VBA COUNTA-functie gaan opslaan. In dit voorbeeld wil ik het resultaat opslaan in cel C2. Dus mijn code is Range ("C2"). Value.

Code:

 Sub Counta_Example1 () Bereik ("C2"). Waarde = End Sub 

Stap 3: In cel C2 hebben we de waarde van de VBA COUNTA-functie nodig. Dus om de Excel VBA COUNTA-functie toe te passen, laten we eerst de werkbladfunctieklasse toepassen.

Code:

 Sub Counta_Example1 () Bereik ("C2"). Waarde = Work End Sub 

Stap 4: Na het toepassen van de werkbladfunctieklasse selecteert u de formule COUNTA door een punt te plaatsen.

Code:

 Sub Counta_Example1 () Bereik ("C2"). Waarde = WorksheetFunction.Count End Sub 

Stap 5: Nu moeten we het celbereik leveren dat moet worden geteld. In dit voorbeeld moeten we het celbereik tellen van A1 tot A11. Voorzie dus de cellen met behulp van het VBA RANGE-object.

Code:

 Sub Counta_Example1 () Bereik ("C2"). Waarde = WorksheetFunction.CountA (Bereik ("A1: A11")) End Sub 

Oké, laten we de code uitvoeren om het resultaat in cel C2 te krijgen.

Dus hetzelfde resultaat geretourneerd door VBA COUNTA ook.

Op deze manier kunnen we COUNTA gebruiken om de niet-lege of niet-lege cellen uit het geleverde bereik te tellen.

Codering met variabelen

VBA-variabelen zijn de sleutel tot het bouwen van een project. Nu kunnen we voor dezelfde gegevens VBA-variabelen declareren en tot het resultaat komen.

Kijk voor een voorbeeld naar de onderstaande 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 

Laten we de bovenstaande code nu uitleggen.

Eerst heb ik de variabele "CountaRange" gedeclareerd als een bereik om naar het bereik van waarden te verwijzen.

 Dim CountaRange As Range

Vervolgens heb ik de referentie ingesteld als bereik A1 tot A11.

 Set CountaRange = Range ("A1: A11")

De tweede variabele is om te verwijzen naar de COUNTA-resultaatcel.

 Dim CountaResultCell als bereik

Voor deze variabele heb ik de cel ingesteld als C2.

 Stel CountaResultCell = Range ("C2") in

Nu, zoals gewoonlijk, heb ik de COUNTA-functie toegepast met variabelen in plaats van hardgecodeerde bereiken. Kijk nu naar de oude code en deze VBA-code.

Code 1:

Code 2:

In code 1 hebben we bereik C2, in code 2 hebben we de variabelenaam “CountaResultCell”. Hier stelt de variabele “CountaResultCell” referentie in als C2-cel. Dus deze variabele is nu de C2-cel.

In code 1 is het COUNTA-functiebereik A1 tot A11, in code 2 is het een variabele genaamd "CountaRange". Deze variabele bevat een verwijzing naar het bereik A1 tot A11.

Dit is het verschil tussen oude code en code met variabelen.

Dus de COUNTA-functie helpt ons om alle niet-lege cellen uit het geleverde bereik te tellen, ongeacht de gegevens die het heeft.