VBA-RÄKNING

VBA-RÄKNING

Kriteriebaserade funktioner är linjalerna för excel i beräkningar. I början av inlärningen av excel måste vi ha lärt oss COUTNIF-funktionen i excel. I våra tidigare artiklar har vi visat dig hur du arbetar med COUNTIF-funktionen i Excel VBA.

Se vår artikel om COUNTIF-formel i Excel för att lära känna grunderna för COUNTIF-funktionen i Excel VBA. I den här artikeln visar vi dig hur du använder samma funktion i VBA-kodning. Nu kommer vi att se samma formel i VBA. Det första först COUNTIF är inte en VBA-funktion utan det är en kalkylbladfunktion som kan nås under kalkylbladets funktionsklass.

Exempel på Excel VBA Countif-funktion

Okej, låt oss se det enkla exemplet.

Du kan ladda ner den här VBA Countif-funktionens Excel-mall här - VBA Countif-funktionens Excel-mall

Titta på nedanstående samma exempel för att räkna värden från partiet.

I bilden ovan har vi stadsnamn från cell A1 till A10. I cell C3 måste vi räkna hur många gånger stadsnamnet ”Bangalore” visas i intervallet A1 till A10.

OK, följ stegen nedan för att skriva koden för att tillämpa COUNTIF-funktionen.

Steg 1: Starta subproceduren.

Koda:

 Alternativ Explicit Sub Countif_Example1 () Slut Sub 

Steg 2: Eftersom vi måste lagra resultatet i cell C3 starta koden som Range (“C3”).

Koda:

 Sub Countif_Example1 () Range ("C3"). Värde = End Sub 

Steg 3: I cell C3 genom att använda excel VBA COUNTIF-funktion försöker vi nå resultatet. Så för att komma åt funktionen måste vi först använda arbetsbladets funktionsklass.

Koda:

Sub Countif_Example1 () Range ("C3"). Värde = WorksheetFunction. Avsluta sub

Steg 4: Från den förlorade välj excel VBA COUNTIF-funktionen.

Koda:

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

Steg 5: Om du tittar på parametrarna för VBA COUNTIF-funktionen ser vi inte parametern som vi ser i kalkylbladet.

Som vi kan se i bilden ovan i kalkylbladet har vi tydlig syntax men i VBA kan vi bara se Arg 1 & Arg 2.

Arg 1 är Range, så välj intervallet som A1 till A10.

Koda:

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

Steg 6: Arg 2 är vilket värde vi behöver räkna från intervallet A1 till A10. I det här exemplet måste vi räkna ”Bangalore”.

Koda:

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

Okej, vi är klara.

Kör koden för att se resultatet i cell C3.

Vi fick resultatet som 4. Eftersom stadsnamnet ”Bangalore” som visas i cell A1, A4, A7 och A10 VBA COUNTIF-funktionen returnerade resultatet som 4.

Om du kan se VBA-kod har bara returnerat resultatet av formeln får vi inte se formeln i formelfältet.

För att komma fram till formeln måste vi skriva koden något annorlunda. Nedan är koden för dig att tillämpa själva formeln på cellen.

Koda:

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

Detta kommer att tillämpa formeln på cellen C3.

Få resultat med variabler

Variabler är en integrerad del av vilket kodningsspråk som helst. Vi måste deklarera variabler för att fungera effektivt med VBA-koden. För ett exempel, se nedanstående kod.

Koda:

 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 ) Avsluta sub 

Låt mig avkoda koden så att du förstår bättre.

För det första har jag förklarat de två variablerna som Range.

Dim ValuesRange As Range: Detta är för att referera till listan över värden.

Dim ResultatCell som intervall: Detta för att referera till resultatcellen.

Sedan har jag ställt in referensområdet för båda variablerna.

Set ValuesRange = Range (“A1: A10”): Detta är det område där alla stadsnamn finns.

Ställ in ResultCell = Range (“C3”): I den här cellen lagrar vi resultatet av COUNTIF-funktionen.

Under tiden har jag förklarat en enda variabel för att lagra kriterievärdet.

Dim CriteriaValue As String

CriteriaValue = “Bangalore”

Så nu har variabeln "CriteteriaValue" värdet "Bangalore".

I nästa rad, som vanligt, har jag tillämpat COUTNIF-funktionen.

ResultCell = WorksheetFunction.CountIf (ValuesRange, CriteriaValue)

Så här kan vi använda COUNTIF-funktionen i Excel VBA för att passa våra behov.