Funcția VBA COUNTIF în Excel (6 exemple)

  • Imparte Asta
Hugh West

The COUNTIF din Excel este utilizată pentru a număra numărul de celule dintr-un interval care îndeplinesc condiția dată. În acest articol, vă vom arăta cum să utilizați funcția COUNTIF în Excel cu VBA macro.

Descărcați caietul de lucru

Puteți descărca gratuit caietul de lucru Excel de practică de aici.

Funcția COUNTIF cu VBA.xlsm

Funcția COUNTIF în Excel

  • Sintaxa

WorksheetFunction.CountIf( Arg1 Ca interval, Arg2 ) ca dublu

  • Parametrii
Parametru Necesar/ Opțional Tip de date Descriere
Arg1 Necesar Gama

Intervalul de celule din celulele de numărare.

Arg2 Necesar Varianta Un număr, o expresie, o referință de celulă sau un text care definește ce celule trebuie numărate. De exemplu, expresia poate fi 20, "20", ">20", "fruit" sau B2.
  • Tipul de returnare

Valoare ca dublu

6 Exemple de utilizare a funcției COUNTIF în Excel cu VBA

În această secțiune, veți învăța cum să folosiți funcția COUNTIF în Excel pentru a număra texte, numere etc. cu ajutorul funcției VBA cod.

1. WorksheetFunction cu COUNTIF în Excel VBA

Excel's Funcție de foaie de calcul poate fi utilizată pentru a apela majoritatea celorlalte funcții din Excel care sunt disponibile în cadrul funcției funcția Insert din Excel și caseta de dialog Excel și COUNTIF este una dintre aceste funcții.

Cu ajutorul exemplului de mai sus, vom învăța cum să folosim Funcție de foaie de calcul cu COUNTIF pentru a număra datele cu VBA în Excel.

Pași:

  • Apăsați Alt + F11 de pe tastatură sau mergeți la fila Dezvoltator -> Visual Basic pentru a deschide Editor Visual Basic .

  • În fereastra de cod pop-up, din bara de meniu, faceți clic pe Inserare -> Modul .

  • Copiați următorul cod și lipiți-l în fereastra de cod.
 Sub ExCOUNTIF() Range("B13") = Application.WorksheetFunction.CountIf(Range("B5:B10")), "<3") End Sub 

Codul dumneavoastră este acum gata de a fi executat.

  • Apăsați F5 de pe tastatură sau, din bara de meniu, selectați Run -> Run Sub/UserForm Puteți, de asemenea, să faceți clic pe pictograma mică de redare din bara de submeni pentru a rula macrocomenzul.

Am vrut să aflăm câte numere din setul nostru de date sunt mai mici decât 3. Astfel, după rularea codului, am obținut rezultatul 4, care reprezintă numărul de numere care sunt mai mici decât 3 pentru setul nostru de date.

Citește mai mult: Cum se utilizează COUNTIF între două numere (4 metode)

2. Funcția COUNTIF pentru a număra un anumit text în Excel

Dacă doriți să numărați un text specific, cum ar fi câte orașe, nume sau alimente etc. există într-o foaie Excel, atunci puteți utiliza funcția COUNTIF funcție în VBA .

Din exemplul de mai sus, vom învăța cum să folosim COUNTIF pentru a număra de câte ori este folosit numele John apare în setul nostru de date cu VBA macro.

Pași:

  • În același mod ca și înainte, deschideți Editor Visual Basic de la Dezvoltator fila și Introduceți a Modul în fereastra de cod.
  • În fereastra de cod, copiați următorul cod și lipiți-l.
 Sub CountifText() 'intrare countName = WorksheetFunction.CountIf(Range("B5:B10"), "John") 'ieșire Range("E7") = countName End Sub 

Codul dumneavoastră este acum gata de a fi executat.

  • Rulați macro și veți obține numărul total.

Dacă nu doriți să scrieți textul direct în cod, atunci îl puteți stoca mai întâi într-o variabilă și mai târziu să treceți variabila în interiorul codului. Exact ca în codul de mai jos,

 Sub CountifText() 'intrare Nume = Range("E6") countName = WorksheetFunction.CountIf(Range("B5:B10"), Nume) 'ieșire Range("E7") = countName End Sub 

Citește mai mult: Numărați textul la început cu COUNTIF & Funcțiile LEFT în Excel

3. Funcția COUNTIF pentru a calcula un număr cu VBA

Puteți utiliza COUNTIF pentru a extrage anumite rezultate.

Din exemplul de mai sus, vom învăța cum să folosim COUNTIF pentru a număra câte numere sunt în setul nostru de date care sunt mai mare de 1,1 cu VBA macro.

Pași:

  • În același mod ca și înainte, deschideți Editor Visual Basic de la Dezvoltator fila și Introduceți a Modul în fereastra de cod.
  • În fereastra de cod, copiați următorul cod și lipiți-l.
 Sub CountifNumber() 'intrare countNum = WorksheetFunction.CountIf(Range("B5:B10"), ">1.1") 'ieșire Range("E7") = countNum End Sub 

Codul dumneavoastră este acum gata de a fi executat.

  • Rulați macro și veți obține numărul total.

Așa cum am discutat mai devreme, dacă nu doriți să scrieți numărul direct în cod, atunci îl puteți stoca mai întâi într-o variabilă și mai târziu să treceți variabila în interiorul codului. La fel ca în codul de mai jos,

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

Citește mai mult: Excel COUNTIF cu criterii mai mare decât și mai mic decât

Lecturi similare

  • Funcția Excel COUNTIF pentru a număra celulele mai mari decât 0
  • Cum să utilizați funcțiile IF și COUNTIF împreună în Excel
  • Excel COUNTIF pentru a număra celula care conține text dintr-o altă celulă
  • Cum se utilizează funcția COUNTIF pentru a calcula procentajul în Excel

4. Funcția COUNTIF cu un interval de obiecte în Excel

Puteți să atribuiți un grup de celule la Obiect de gamă și apoi folosiți acest Obiect de gamă pentru a număra valorile în Excel.

Pași:

  • Deschideți Editor Visual Basic de la Dezvoltator fila și Introduceți a Modul în fereastra de cod.
  • În fereastra de cod, copiați următorul cod și lipiți-l.
 Sub ExCountIFRange() Dim iRng As Range 'atribuiți intervalul de celule Set iRng = Range("B5:B10") 'utilizați intervalul în formulă Range("B13") = WorksheetFunction.SumIf(iRng, ">1") 'eliberați obiectul interval Set iRng = Nothing End Sub 

Codul dumneavoastră este acum gata de a fi executat.

  • Rulați codul și veți obține numărul total cu o valoare de însumare.

Citește mai mult: Cum se utilizează COUNTIF pentru intervalul neconjungător în Excel

5. Metoda formulei COUNTIF în Excel

De asemenea, puteți utiliza și funcția Formula și/sau FormulaR1C1 pentru a aplica o metodă COUNTIF la o celulă din VBA Aceste metode sunt mai flexibile pentru astfel de operațiuni.

5.1. Metoda formulei

Formula permite specificarea unui interval de celule ca B5:B10 prezentată mai jos în exemplu.

Pași:

  • În fereastra de cod a aplicației Editor Visual Basic , copiați următorul cod și lipiți-l.
 Option Explicit Sub ExCountIfFormula() Range("B13").Formula = "=COUNTIF(B5:B10, "">1"")"" End Sub 

Codul dumneavoastră este acum gata de a fi executat.

Această bucată de cod vă va oferi numărul total de date de care aveți nevoie.

5.2. Metoda FormulaR1C1

FormulaR1C1 este mai flexibilă, deoarece nu se limitează la un anumit interval de celule.

Cu același set de date, vom învăța acum cum să folosim FormulaR1C1 pentru a număra valorile din VBA .

Pași:

  • În fereastra de cod a aplicației Editor Visual Basic , copiați următorul cod și lipiți-l.
 Option Explicit Sub ExCountIfFormulaRC() Range("B13").FormulaR1C1 = "=COUNTIF(R[-8]C:R[-1]C,"">2"")"" End Sub 

Codul dumneavoastră este acum gata de a fi executat.

Acest cod vă va oferi, de asemenea, numărul total de date de care aveți nevoie.

Dacă nu doriți să setați intervalul de ieșire, atunci puteți face acest cod și mai flexibil scriind astfel,

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

Formula va număra celulele care îndeplinesc condiția și va plasa răspunsul în ActiveCell în foaia de lucru. COUNTIF trebuie să fie menționată cu ajutorul funcției Rând (R) și Coloană (C) sintaxă.

Citește mai mult: Cum se aplică COUNTIF între două valori de celule în Excel

6. Atribuirea rezultatului funcției COUNTIF la o variabilă

Dacă doriți să utilizați rezultatul formulei dumneavoastră în altă parte decât în setul de date Excel, puteți atribui rezultatul unei variabile și îl puteți utiliza ulterior în cod.

The VBA codul pentru aceasta este,

 Sub AssignCountIfVariable() Dim iResult As Double 'Atribuiți variabila iResult = Application.WorksheetFunction.CountIf(Range("B5:B10")), "<3") 'Afișați rezultatul MsgBox "Numărul de celule cu valoarea mai mică de 3 este " & iResult End Sub 

Rezultatul va fi afișat în caseta de mesaje Excel.

Citește mai mult: COUNTIF Excel Exemplu Excel (22 Exemple)

Concluzie

Acest articol v-a arătat cum să utilizați COUNTIF în Excel cu VBA . sper că acest articol a fost foarte benefic pentru dvs. Nu ezitați să mă întrebați dacă aveți întrebări legate de acest subiect.

Hugh West este un trainer și analist Excel cu o experiență de peste 10 ani în industrie. Deține o diplomă de licență în contabilitate și finanțe și un master în administrarea afacerilor. Hugh are o pasiune pentru predare și a dezvoltat o abordare unică de predare care este ușor de urmărit și de înțeles. Cunoștințele sale experte despre Excel au ajutat mii de studenți și profesioniști din întreaga lume să-și îmbunătățească abilitățile și să exceleze în cariera lor. Prin blogul său, Hugh își împărtășește cunoștințele lumii, oferind tutoriale gratuite Excel și instruire online pentru a ajuta persoanele și companiile să-și atingă întregul potențial.