VBA AANTAL.ALS

VBA AANTAL.ALS

Op criteria gebaseerde functies zijn de heersers van Excel bij berekeningen. Aan het begin van het leren van Excel, moeten we de COUTNIF-functie in Excel hebben geleerd. In onze eerdere artikelen hebben we u laten zien hoe u met de AANTAL.ALS-functie in Excel VBA kunt werken.

Raadpleeg ons artikel over AANTAL.ALS-formule in Excel om de basisprincipes van de AANTAL.ALS-functie in Excel VBA te kennen. In dit artikel laten we u zien hoe u dezelfde functie kunt gebruiken in VBA-codering. Nu zullen we dezelfde formule zien in VBA. Allereerst AANTAL.ALS is geen VBA-functie, maar een werkbladfunctie die toegankelijk is onder de werkbladfunctieklasse.

Voorbeeld van Excel VBA Countif-functie

Oké, laten we eens kijken naar het eenvoudige voorbeeld.

U kunt deze VBA Countif-functie Excel-sjabloon hier downloaden - VBA Countif-functie Excel-sjabloon

Bekijk het onderstaande voorbeeld van telwaarden uit de partij.

In de bovenstaande afbeelding hebben we plaatsnamen van cel A1 tot A10. In cel C3 moeten we tellen hoe vaak de plaatsnaam "Bangalore" voorkomt in het bereik A1 tot A10.

Ok, volg de onderstaande stappen om de code te schrijven om de AANTAL.ALS-functie toe te passen.

Stap 1: Start de Sub-procedure.

Code:

 Optie Expliciete Sub Countif_Example1 () End Sub 

Stap 2: Aangezien we het resultaat moeten opslaan in cel C3, start u de code als bereik ("C3").

Code:

 Sub Countif_Example1 () Bereik ("C3"). Waarde = End Sub 

Stap 3: In cel C3 door de Excel VBA AANTAL.ALS-functie toe te passen, proberen we tot het resultaat te komen. Dus om toegang te krijgen tot de functie, moeten we eerst de klasse Worksheet Function gebruiken.

Code:

Sub Countif_Example1 () Bereik ("C3"). Waarde = WorksheetFunction. Einde Sub

Stap 4: Van de verloren geselecteerde Excel VBA AANTAL.ALS-functie.

Code:

 Sub Countif_Example1 () Bereik ("C3"). Value = WorksheetFunction.CountIf (End Sub 

Stap 5: Als u naar de parameters van de VBA AANTAL.ALS-functie kijkt, zien we de parameter niet zoals we in het werkblad zien.

Zoals we in de bovenstaande afbeelding in het werkblad kunnen zien, hebben we een duidelijke syntaxis, maar in VBA kunnen we alleen Arg 1 en Arg 2 zien.

Arg 1 is Bereik, dus selecteer het bereik als A1 tot A10.

Code:

 Sub Countif_Example1 () Range ("C3"). Value = WorksheetFunction.CountIf (Range ("A1: A10"), End Sub 

Stap 6: Arg 2 is de waarde die we nodig hebben om te tellen van het bereik A1 tot A10. In dit voorbeeld moeten we "Bangalore" tellen.

Code:

 Sub Countif_Example1 () Range ("C3"). Value = WorksheetFunction.CountIf (Range ("A1: A10"), "Bangalore") End Sub 

Ok, we zijn klaar.

Voer de code uit om het resultaat in cel C3 te zien.

We kregen het resultaat als 4. Aangezien de stadsnaam "Bangalore" in cel A1, A4, A7 en A10 verscheen, retourneerde de VBA AANTAL.ALS-functie het resultaat als 4.

Als u kunt zien dat VBA-code alleen het resultaat van de formule heeft geretourneerd, krijgen we de formule niet te zien in de formulebalk.

Om tot de formule te komen, moeten we de code iets anders schrijven. Hieronder staat de code waarmee u de formule zelf op de cel kunt toepassen.

Code:

 Sub Countif_Example1 () Bereik ("C3"). Formula = "= CountIf (A1: A10," "Bangalore" ")" End Sub 

Hiermee wordt de formule toegepast op de cel C3.

Kom tot resultaat met variabelen

Variabelen zijn een integraal onderdeel van elke codeertaal. We moeten variabelen declareren om efficiënt met de VBA-code te werken. Kijk voor een voorbeeld naar de onderstaande code.

Code:

 Sub Countif_Example2 () Dim ValuesRange As Range Dim ResultCell As Range Dim CriteriaValue As String Set ValuesRange = Range ("A1: A10") Set ResultCell = Range ("C3") CriteriaValue = "Bangalore" ResultCell = WorksheetFunction.CountIf (ValuesRange, CriteriaValue ) Einde Sub 

Laat me de code decoderen zodat je ze beter begrijpt.

Ten eerste heb ik de twee variabelen als bereik gedeclareerd.

Dim ValuesRange As Range: dit is om naar de lijst met waarden te verwijzen.

Dim ResultCell As Range: Dit om naar de resultaatcel te verwijzen.

Vervolgens heb ik het bereik van verwijzingen naar beide variabelen ingesteld.

Set ValuesRange = Range ("A1: A10"): Dit is het bereik waar alle stadsnamen voorkomen.

Set ResultCell = Range ("C3"): In deze cel zullen we het resultaat van de AANTAL.ALS-functie opslaan.

In de tussentijd heb ik nog een variabele gedeclareerd om de criteriumwaarde op te slaan.

Dim CriteriaValue As String

CriteriaValue = "Bangalore"

Dus nu bevat de variabele “CriteteriaValue” de waarde “Bangalore”.

In de volgende regel heb ik, zoals gewoonlijk, de COUTNIF-functie toegepast.

ResultCell = WorksheetFunction.CountIf (ValuesRange, CriteriaValue)

Op deze manier kunnen we de AANTAL.ALS-functie in Excel VBA toepassen om aan onze behoeften te voldoen.