VBA LICZ.JEŻELI

VBA LICZ.JEŻELI

Funkcje oparte na kryteriach są linijkami programu Excel w obliczeniach. Na początku nauki programu Excel musieliśmy nauczyć się funkcji COUTNIF w programie Excel. W naszych wcześniejszych artykułach pokazaliśmy, jak pracować z funkcją LICZ.JEŻELI w Excel VBA.

Zapoznaj się z naszym artykułem na temat wzoru LICZ.JEŻELI w programie Excel, aby poznać podstawy funkcji LICZ.JEŻELI w programie Excel VBA. W tym artykule pokażemy, jak używać tej samej funkcji w kodowaniu VBA. Teraz zobaczymy tę samą formułę w VBA. Po pierwsze, LICZ.JEŻELI nie jest funkcją VBA, a raczej funkcją arkusza, do której można uzyskać dostęp w klasie funkcji arkusza.

Przykład funkcji Countif Excel VBA

Ok, zobaczmy prosty przykład.

Możesz pobrać ten szablon programu Excel z funkcją VBA Countif - szablon programu Excel z funkcją VBA Countif

Spójrz na ten sam przykład zliczania wartości z partii.

Na powyższym obrazku mamy nazwy miast z komórek A1 do A10. W komórce C3 musimy policzyć, ile razy nazwa miasta „Bangalore” pojawia się w zakresie od A1 do A10.

Ok, wykonaj poniższe kroki, aby napisać kod, aby zastosować funkcję LICZ.JEŻELI.

Krok 1: Rozpocznij procedurę Sub.

Kod:

 Option Explicit Sub Countif_Example1 () End Sub 

Krok 2: Ponieważ musimy zapisać wynik w komórce C3, zacznij kod jako Range („C3”).

Kod:

 Sub Countif_Example1 () Range („C3”). Value = End Sub 

Krok 3: W komórce C3, stosując funkcję excel VBA COUNTIF, próbujemy dojść do wyniku. Aby uzyskać dostęp do funkcji, musimy najpierw użyć klasy Worksheet Function.

Kod:

Sub Countif_Example1 () Range („C3”). Value = WorksheetFunction. Napis końcowy

Krok 4: Z utraconej funkcji wybierz Excel VBA COUNTIF.

Kod:

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

Krok 5: Jeśli spojrzysz na parametry funkcji VBA COUNTIF, nie widzimy parametru, tak jak widzimy w arkuszu.

Jak widać na powyższym obrazku w arkuszu roboczym mamy jasną składnię, ale w VBA widzimy tylko Arg 1 i Arg 2.

Arg 1 to Zakres, więc wybierz zakres od A1 do A10.

Kod:

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

Krok 6: Arg 2 to wartość, którą musimy policzyć z zakresu od A1 do A10. W tym przykładzie musimy policzyć „Bangalore”.

Kod:

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

OK, gotowe.

Uruchom kod, aby zobaczyć wynik w komórce C3.

Otrzymaliśmy wynik jako 4. Ponieważ nazwa miasta „Bangalore” pojawiająca się w komórkach A1, A4, A7 i A10 funkcja VBA LICZ.JEŻELI zwróciła wynik jako 4.

Jeśli widzisz, że kod VBA zwrócił tylko wynik formuły, nie zobaczymy formuły na pasku formuły.

Aby otrzymać wzór, musimy napisać kod nieco inaczej. Poniżej znajduje się kod umożliwiający zastosowanie samej formuły do ​​komórki.

Kod:

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

Spowoduje to zastosowanie formuły do ​​komórki C3.

Uzyskaj wynik ze zmiennymi

Zmienne są integralną częścią każdego języka kodowania. Musimy zadeklarować zmienne, aby efektywnie współpracować z kodem VBA. Na przykład spójrz na poniższy kod.

Kod:

 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 ) Napis końcowy 

Pozwól, że zdekoduję kod, abyś mógł lepiej go zrozumieć.

Najpierw zadeklarowałem dwie zmienne jako zakres.

Dim ValuesRange As Range: Odwołuje się do listy wartości.

Dim ResultCell As Range: odwołuje się do komórki wynikowej.

Następnie ustawiłem zakres odniesień do obu zmiennych.

Set ValuesRange = Range („A1: A10”): Jest to zakres zawierający wszystkie nazwy miast.

Set ResultCell = Range („C3”): W tej komórce będziemy przechowywać wynik funkcji COUNTIF.

W międzyczasie zadeklarowałem jeszcze jedną zmienną do przechowywania wartości kryteriów.

Dim CriteriaValue As String

CriteriaValue = „Bangalore”

Zatem teraz zmienna „CriteteriaValue” zawiera wartość „Bangalore”.

W następnym wierszu, jak zwykle, zastosowałem funkcję COUTNIF.

ResultCell = WorksheetFunction.CountIf (ValuesRange, CriteriaValue)

W ten sposób możemy zastosować funkcję LICZ.JEŻELI w Excel VBA, aby dopasować się do naszych potrzeb.