Funkce VBA COUNTIF v aplikaci Excel (6 příkladů)

  • Sdílet Toto
Hugh West

Na stránkách COUNTIF se v Excelu používá k počítání počtu buněk v rozsahu, které splňují danou podmínku. V tomto článku si ukážeme, jak použít funkci COUNTIF funkce v aplikaci Excel s VBA makro.

Stáhnout pracovní sešit

Bezplatný cvičný sešit aplikace Excel si můžete stáhnout zde.

Funkce COUNTIF s VBA.xlsm

Funkce COUNTIF v aplikaci Excel

  • Syntaxe

WorksheetFunction.CountIf( Arg1 Jako rozsah, Arg2 ) jako Double

  • Parametry
Parametr Povinné/nepovinné Typ dat Popis
Arg1 Požadované Rozsah

Rozsah buněk z počtu buněk.

Arg2 Požadované Varianta Číslo, výraz, odkaz na buňku nebo text, který určuje, které buňky se mají počítat. Výraz může být například 20, "20", ">20", "fruit" nebo B2.
  • Typ návratu

Hodnota jako Double

6 příkladů použití funkce COUNTIF v aplikaci Excel pomocí VBA

V této části se dozvíte, jak používat funkci COUNTIF funkce v Excelu pro počítání textů, čísel atd. s VBA kód.

1. Funkce WorksheetFunction s COUNTIF v aplikaci Excel VBA

Aplikace Excel WorksheetFunction lze použít k volání většiny ostatních funkcí v Excelu, které jsou k dispozici v rámci. funkce Insert dialogové okno v aplikaci Excel a COUNTIF je jednou z těchto funkcí.

Na výše uvedeném příkladu se naučíme, jak používat příkaz WorksheetFunction s COUNTIF počítat data pomocí VBA v aplikaci Excel.

Kroky:

  • Tisk Alt + F11 na klávesnici nebo přejděte na kartu Vývojář -> Visual Basic otevřít Editor jazyka Visual Basic .

  • Ve vyskakovacím okně kódu klikněte na panelu nabídek na možnost Insert -> Modul .

  • Zkopírujte následující kód a vložte jej do okna kódu.
 Sub ExCOUNTIF() Range("B13") = Application.WorksheetFunction.CountIf(Range("B5:B10"), "<3") End Sub 

Váš kód je nyní připraven ke spuštění.

  • Tisk F5 na klávesnici nebo na panelu nabídek vyberte možnost Run -> Run Sub/UserForm . Můžete také kliknout na malá ikona Play na panelu podnabídek spustíte makro.

Chtěli jsme zjistit, kolik je v našem souboru čísel, která jsou menší než 3. Po spuštění kódu jsme tedy dostali výsledek 4, což je počet čísel, která jsou menší než 3 pro náš soubor dat.

Přečtěte si více: Jak používat COUNTIF mezi dvěma čísly (4 metody)

2. Funkce COUNTIF pro počítání určitého textu v aplikaci Excel

Pokud chcete spočítat konkrétní text, například kolik měst, názvů nebo potravin atd. je v listu aplikace Excel, můžete použít příkaz COUNTIF funkce v VBA .

Z výše uvedeného příkladu se dozvíme, jak používat příkaz COUNTIF spočítat, kolikrát se jméno John se v našem souboru dat vyskytuje s VBA makro.

Kroky:

  • Stejným způsobem jako dříve, otevřete Editor jazyka Visual Basic z Vývojář karta a Vložte a Modul v okně kódu.
  • V okně kódu zkopírujte a vložte následující kód.
 Sub CountifText() 'vstup countName = WorksheetFunction.CountIf(Range("B5:B10"), "John") 'výstup Range("E7") = countName End Sub 

Váš kód je nyní připraven ke spuštění.

  • Spusťte makro a získáte celkový počet.

Pokud nechcete psát text přímo v kódu, můžete jej nejprve uložit do proměnné a později ji předat uvnitř kódu. Stejně jako v následujícím kódu,

 Sub CountifText() 'vstup Name = Range("E6") countName = WorksheetFunction.CountIf(Range("B5:B10"), Name) 'výstup Range("E7") = countName End Sub 

Přečtěte si více: Počítání textu na začátku pomocí funkcí COUNTIF & LEFT v aplikaci Excel

3. Funkce COUNTIF pro výpočet čísla pomocí VBA

Můžete využít COUNTIF funkce pro získání určitých výsledků.

Z výše uvedeného příkladu se dozvíme, jak používat příkaz COUNTIF spočítat, kolik je v našem souboru dat čísel, která jsou větší než 1,1 s VBA makro.

Kroky:

  • Stejným způsobem jako dříve, otevřete Editor jazyka Visual Basic z Vývojář karta a Vložte a Modul v okně kódu.
  • V okně kódu zkopírujte a vložte následující kód.
 Sub CountifNumber() 'vstup countNum = WorksheetFunction.CountIf(Range("B5:B10"), ">1.1") 'výstup Range("E7") = countNum End Sub 

Váš kód je nyní připraven ke spuštění.

  • Spustit makro a získáte celkový počet.

Jak již bylo řečeno, pokud nechcete číslo zapsat přímo do kódu, můžete jej nejprve uložit do proměnné a později ji předat uvnitř kódu. Stejně jako v následujícím kódu,

 Sub CountifNumber() 'vstup Num = Range("E6") countNum = WorksheetFunction.CountIf(Range("B5:B10"), ">" & Num) 'výstup Range("E7") = countNum End Sub 

Přečtěte si více: Excel COUNTIF s kritérii větší než a menší než

Podobná čtení

  • Funkce COUNTIF aplikace Excel pro počítání buněk větších než 0
  • Jak používat funkce IF a COUNTIF společně v aplikaci Excel
  • Excel COUNTIF pro počítání buněk, které obsahují text z jiné buňky
  • Jak používat funkci COUNTIF pro výpočet procenta v aplikaci Excel

4. Funkce COUNTIF s rozsahem objektu v aplikaci Excel

Skupinu buněk můžete přiřadit k Objekt rozsahu a pak použijte tento Objekt rozsahu počítat hodnoty v aplikaci Excel.

Kroky:

  • Otevřít Editor jazyka Visual Basic z Vývojář karta a Vložte a Modul v okně kódu.
  • V okně kódu zkopírujte a vložte následující kód.
 Sub ExCountIFRange() Dim iRng As Range 'přiřadit rozsah buněk Set iRng = Range("B5:B10") 'použít rozsah ve vzorci Range("B13") = WorksheetFunction.SumIf(iRng, ">1") 'uvolnit objekt rozsahu Set iRng = Nothing End Sub 

Váš kód je nyní připraven ke spuštění.

  • Spustit kód a získáte celkový počet se součtovou hodnotou.

Přečtěte si více: Jak používat COUNTIF pro nesouvislý rozsah v aplikaci Excel

5. Metoda vzorce COUNTIF v aplikaci Excel

Můžete také použít Vzorec a/nebo VzorecR1C1 použít metodu COUNTIF do buňky v VBA . Tyto metody jsou při provádění takových operací flexibilnější.

5.1. Metoda vzorce

Vzorec umožňuje zadat rozsah buněk jako B5:B10 zobrazené níže v příkladu.

Kroky:

  • V okně kódu Editor jazyka Visual Basic , zkopírujte následující kód a vložte jej.
 Option Explicit Sub ExCountIfFormula() Range("B13").Formula = "=COUNTIF(B5:B10, "">1"")" End Sub 

Váš kód je nyní připraven ke spuštění.

Tato část kódu vám poskytne celkový počet požadovaných dat.

5.2. Metoda FormulaR1C1

VzorecR1C1 je flexibilnější, protože se neomezuje na určitý rozsah buněk.

Se stejnou sadou dat se nyní naučíme používat VzorecR1C1 počítat hodnoty v VBA .

Kroky:

  • V okně kódu Editor jazyka Visual Basic , zkopírujte následující kód a vložte jej.
 Option Explicit Sub ExCountIfFormulaRC() Range("B13").FormulaR1C1 = "=COUNTIF(R[-8]C:R[-1]C,"">2"")" End Sub 

Váš kód je nyní připraven ke spuštění.

Tento kód vám také poskytne celkový počet požadovaných dat.

Pokud nechcete nastavovat rozsah výstupu, můžete tento kód ještě více zpružnit takto,

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

Vzorec spočítá buňky, které splňují podmínku, a odpověď umístí do pole ActiveCell v pracovním listu. Rozsah uvnitř pole COUNTIF na funkci se musí odkazovat pomocí příkazu Řada (R) a Sloupec (C) syntaxe.

Přečtěte si více: Jak použít COUNTIF mezi dvěma hodnotami v buňkách v aplikaci Excel

6. Přiřazení výsledku funkce COUNTIF proměnné

Pokud chcete výsledek vzorce použít jinde než v datové sadě aplikace Excel, můžete jej přiřadit proměnné a použít jej později v kódu.

Na stránkách VBA kód pro tento účel je,

 Sub AssignCountIfVariable() Dim iResult As Double 'Přiřazení proměnné iResult = Application.WorksheetFunction.CountIf(Range("B5:B10"), "<3") 'Zobrazení výsledku MsgBox "Počet buněk s hodnotou menší než 3 je " & iResult End Sub 

Výsledek se zobrazí v okně zprávy aplikace Excel.

Přečtěte si více: COUNTIF Excel Příklad (22 příkladů)

Závěr

Tento článek vám ukázal, jak používat COUNTIF funkce v aplikaci Excel s VBA . doufám, že pro vás byl tento článek velmi přínosný. Pokud máte k tématu nějaké dotazy, neváhejte se zeptat.

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.