Funkcja VBA COUNTIF w Excelu (6 przykładów)

  • Udostępnij To
Hugh West

Na stronie COUNTIF Funkcja w Excelu służy do zliczania liczby komórek w zakresie, które spełniają dany warunek. W tym artykule pokażemy, jak wykorzystać funkcję COUNTIF funkcja w Excelu z VBA makro.

Pobierz Workbook

Darmowy ćwiczeniowy zeszyt Excela można pobrać stąd.

Funkcja COUNTIF w VBA.xlsm

Funkcja COUNTIF w programie Excel

  • Składnia

WorksheetFunction.CountIf( Arg1 As Range, Arg2 ) As Double

  • Parametry
Parametr Wymagane/ Fakultatywne Typ danych Opis
Arg1 Wymagane Zakres

Zakres komórek od zliczania komórek.

Arg2 Wymagane Wariant Liczba, wyrażenie, odwołanie do komórki lub tekst, który określa, które komórki mają być liczone. Na przykład wyrażenie może być 20, "20", ">20", "owoc" lub B2.
  • Typ zwrotu

Wartość jako Double

6 Przykłady użycia funkcji COUNTIF w Excelu za pomocą VBA

W tym rozdziale dowiesz się, jak używać COUNTIF funkcja w Excelu do zliczania tekstów, liczb itp. z VBA kod.

1) WorksheetFunction z COUNTIF w Excelu VBA

Excel'a WorksheetFunction można wykorzystać do wywołania większości innych funkcji w Excelu, które są dostępne w ramach funkcja wstawiania okno dialogowe w programie Excel i COUNTIF funkcja jest jedną z takich funkcji.

Na powyższym przykładzie dowiemy się, jak używać WorksheetFunction z COUNTIF do zliczania danych z VBA w Excelu.

Kroki:

  • Naciśnij Alt + F11 na klawiaturze lub przejdź do zakładki Programista -> Visual Basic otworzyć Edytor Visual Basic .

  • W wyskakującym oknie kodu, na pasku menu, kliknij Insert -> Moduł .

  • Skopiuj poniższy kod i wklej go do okna kodu.
 Sub ExCOUNTIF() Range("B13") = Application.WorksheetFunction.CountIf(Range("B5:B10"), "<3") End Sub 

Twój kod jest teraz gotowy do uruchomienia.

  • Naciśnij F5 na klawiaturze lub z paska menu wybrać Run -> Run Sub/UserForm. Możesz też po prostu kliknąć na mała ikona Play na pasku podmenu, aby uruchomić makro.

Chcieliśmy się dowiedzieć ile jest liczb w naszym zbiorze danych, które są mniejsze niż 3. Tak więc po uruchomieniu kodu otrzymaliśmy wynik 4, który jest liczbą liczb, które są mniejsze niż 3 dla naszego zbioru danych.

Read More: Jak używać COUNTIF między dwoma liczbami (4 metody)?

2) Funkcja COUNTIF do liczenia określonego tekstu w Excelu

Jeśli chcesz policzyć dowolny tekst, np. ile miast, nazwisk, potraw itp. znajduje się w arkuszu Excela, to możesz wykorzystać funkcję COUNTIF działać w VBA .

Z powyższego przykładu dowiemy się, jak używać COUNTIF aby policzyć ile razy nazwa John występuje w naszym zbiorze danych z VBA makro.

Kroki:

  • W taki sam sposób jak poprzednio, otwórz Edytor Visual Basic od Deweloper zakładka i Wkładka a Moduł w oknie kodu.
  • W oknie kodu skopiuj poniższy kod i wklej go.
 Sub CountifText() 'input countName = WorksheetFunction.CountIf(Range("B5:B10"), "John") 'output Range("E7") = countName End Sub 

Twój kod jest teraz gotowy do uruchomienia.

  • Uruchom makro i otrzymasz całkowite zliczenie.

Jeśli nie chcesz pisać tekstu bezpośrednio w swoim kodzie, możesz go najpierw zapisać w zmiennej, a następnie przekazać zmienną wewnątrz kodu. Tak jak w poniższym kodzie,

 Sub CountifText() 'input Name = Range("E6") countName = WorksheetFunction.CountIf(Range("B5:B10"), Name) 'output Range("E7") = countName End Sub 

Read More: Liczenie tekstu na początku za pomocą funkcji COUNTIF & LEFT w Excelu

3. funkcja COUNTIF do obliczania liczby w VBA

Możesz wykorzystać COUNTIF funkcja do wyodrębnienia określonych wyników.

Z powyższego przykładu dowiemy się, jak używać COUNTIF aby policzyć ile jest w naszym zbiorze danych liczb, które są wyższy niż 1,1 z VBA makro.

Kroki:

  • W taki sam sposób jak poprzednio, otwórz Edytor Visual Basic od Deweloper zakładka i Wkładka a Moduł w oknie kodu.
  • W oknie kodu skopiuj poniższy kod i wklej go.
 Sub CountifNumber() 'input countNum = WorksheetFunction.CountIf(Range("B5:B10"), ">1.1") 'output Range("E7") = countNum End Sub 

Twój kod jest teraz gotowy do uruchomienia.

  • Uruchom makro i otrzymasz całkowite zliczenie.

Jak już wcześniej wspomniano, jeśli nie chcesz pisać liczby bezpośrednio w swoim kodzie, możesz najpierw przechowywać ją w zmiennej, a następnie przekazać zmienną wewnątrz kodu. Tak jak w poniższym kodzie,

 Sub CountifNumber() 'input Num = Range("E6") countNum = WorksheetFunction.CountIf(Range("B5:B10"), ">" & Num) 'output Range("E7") = countNum End Sub 

Read More: Excel COUNTIF z kryteriami większymi niż i mniejszymi niż.

Podobne lektury

  • Excel COUNTIF Funkcja do liczenia komórek większych niż 0
  • Jak używać funkcji IF i COUNTIF razem w Excelu
  • Excel COUNTIF do liczenia komórki, która zawiera tekst z innej komórki
  • Jak używać funkcji COUNTIF do obliczania procentów w Excelu

4) Funkcja COUNTIF z zakresem obiektów w Excelu

Możesz przypisać grupę komórek do Zakres Obiekt a następnie użyć tego Zakres Obiekt do zliczania wartości w Excelu.

Kroki:

  • Otwórz Edytor Visual Basic od Deweloper zakładka i Wkładka a Moduł w oknie kodu.
  • W oknie kodu skopiuj poniższy kod i wklej go.
 Sub ExCountIFRange() Dim iRng As Range 'przypisz zakres komórek Set iRng = Range("B5:B10") 'użyj zakresu w formule Range("B13") = WorksheetFunction.SumIf(iRng, ">1") 'zwolnij obiekt zakresu Set iRng = Nothing End Sub 

Twój kod jest teraz gotowy do uruchomienia.

  • Uruchom kod i otrzymasz całkowite zliczenie z wartością sumowania.

Read More: Jak używać COUNTIF dla nieciągłego zakresu w Excelu

5) Metoda formuły COUNTIF w programie Excel

Można również użyć Formuła i/lub FormułaR1C1 aby zastosować metodę COUNTIF do komórki w VBA Metody te są bardziej elastyczne w wykonywaniu takich operacji.

5.1 Metoda wzorów

Formuła Metoda pozwala określić zakres komórek jako B5:B10 pokazane poniżej w przykładzie.

Kroki:

  • W oknie kodu Edytor Visual Basic , skopiuj poniższy kod i wklej go.
 Option Explicit Sub ExCountIfFormula() Range("B13").Formula = "=COUNTIF(B5:B10, "">1"")" End Sub 

Twój kod jest teraz gotowy do uruchomienia.

Ten fragment kodu da ci całkowitą liczbę danych, których potrzebujesz.

5.2 Metoda FormułaR1C1

WzórR1C1 Metoda jest bardziej elastyczna, ponieważ nie ogranicza się do ustalonego zakresu komórek.

Z tym samym zbiorem danych, nauczymy się teraz jak używać FormułaR1C1 aby policzyć wartości w VBA .

Kroki:

  • W oknie kodu Edytor Visual Basic , skopiuj poniższy kod i wklej go.
 Option Explicit Sub ExCountIfFormulaRC() Range("B13").FormulaR1C1 = "=COUNTIF(R[-8]C:R[-1]C,"">2")" End Sub 

Twój kod jest teraz gotowy do uruchomienia.

Ten kod da ci również całkowitą liczbę danych, których potrzebujesz.

Jeśli nie chcesz ustawiać zakresu wyjściowego to możesz uczynić ten kod jeszcze bardziej elastycznym pisząc tak,

 Option Explicit Sub ExCountIfFormulaRC() ActiveCell.FormulaR1C1 = "=COUNTIF(R[-8]C:R[-1]C,"">2")" End Sub 

Formuła zliczy komórki spełniające warunek i umieści odpowiedź w polu ActiveCell w swoim arkuszu. Zakres wewnątrz COUNTIF Do funkcji należy się odwoływać za pomocą Wiersz (R) oraz Kolumna (C) składnia.

Read More: Jak zastosować COUNTIF pomiędzy dwoma wartościami komórek w Excelu

6) Przypisanie wyniku funkcji COUNTIF do zmiennej

Jeśli chcesz użyć wyniku swojej formuły w innym miejscu niż w zbiorze danych Excela, możesz przypisać wynik do zmiennej i użyć go później w swoim kodzie.

Na stronie VBA kod do tego to,

 Sub AssignCountIfVariable() Dim iResult As Double 'Przypisz zmienną iResult = Application.WorksheetFunction.CountIf(Range("B5:B10"), "<3") 'Pokaż wynik MsgBox "The count of cells with value less than 3 is " & iResult End Sub 

Wynik zostanie pokazany w oknie komunikatu Excela.

Read More: COUNTIF Przykład w Excelu (22 przykłady)

Wniosek

Ten artykuł pokazał, jak używać COUNTIF funkcja w Excelu z VBA Mam nadzieję, że ten artykuł był dla Ciebie bardzo korzystny. Czuj się swobodnie, jeśli masz jakieś pytania dotyczące tematu.

Hugh West jest bardzo doświadczonym trenerem i analitykiem Excela z ponad 10-letnim doświadczeniem w branży. Posiada tytuł licencjata w dziedzinie rachunkowości i finansów oraz tytuł magistra administracji biznesowej. Hugh ma pasję do nauczania i opracował unikalne podejście do nauczania, które jest łatwe do naśladowania i zrozumienia. Jego specjalistyczna wiedza na temat programu Excel pomogła tysiącom studentów i profesjonalistów na całym świecie doskonalić swoje umiejętności i osiągać doskonałe wyniki w karierze. Za pośrednictwem swojego bloga Hugh dzieli się swoją wiedzą ze światem, oferując bezpłatne samouczki programu Excel i szkolenia online, aby pomóc osobom indywidualnym i firmom w pełni wykorzystać swój potencjał.