VBA COUNTIF-funktion i Excel (6 eksempler)

  • Del Dette
Hugh West

COUNTIF funktionen i Excel bruges til at tælle antallet af celler inden for et område, der opfylder en given betingelse. I denne artikel viser vi dig, hvordan du bruger funktionen COUNTIF funktion i Excel med VBA makro.

Download arbejdsbog

Du kan downloade den gratis Excel-arbejdsbog til øvelser her.

COUNTIF-funktion med VBA.xlsm

COUNTIF-funktion i Excel

  • Syntaks

WorksheetFunction.CountIf( Arg1 Som rækkevidde, Arg2 ) As Double

  • Parametre
Parameter Krævet/ valgfri Datatype Beskrivelse
Arg1 Påkrævet Område

Området af celler fra tælleceller.

Arg2 Påkrævet Variant Et tal, et udtryk, en cellehenvisning eller tekst, der definerer, hvilke celler der skal tælles. Udtrykket kan f.eks. være 20, "20", ">20", "frugt" eller B2.
  • Returneringstype

Værdi som Double

6 eksempler på brug af COUNTIF-funktionen i Excel med VBA

I dette afsnit lærer du, hvordan du bruger COUNTIF funktion i Excel til at tælle tekster, tal osv. med VBA kode.

1. WorksheetFunction med COUNTIF i Excel VBA

Excel's WorksheetFunction kan bruges til at kalde de fleste af de andre funktioner i Excel, som er tilgængelige i indsætningsfunktionen dialogboksen i Excel og den COUNTIF er en af disse funktioner.

Med ovenstående eksempel vil vi lære at bruge WorksheetFunction med COUNTIF til at tælle data med VBA i Excel.

Trin:

  • Tryk på Alt + F11 på dit tastatur eller gå til fanen Udvikler -> Visual Basic for at åbne Visual Basic-editor .

  • I pop-up kodevinduet skal du på menulinjen klikke på Indsæt -> Modul .

  • Kopier følgende kode, og indsæt den i kodevinduet.
 Sub ExCOUNTIF() Range("B13") = Application.WorksheetFunction.CountIf(Range("B5:B10"), "<3") End Sub 

Din kode er nu klar til at køre.

  • Tryk på F5 på dit tastatur eller på menulinjen vælge Kør -> Kør Sub/UserForm Du kan også bare klikke på lille Play-ikon i undermenulinjen for at køre makroen.

Vi ønskede at finde ud af, hvor mange tal i vores datasæt der er mindre end 3. Så efter at have kørt koden fik vi resultatet 4, som er antallet af tal, der er mindre end 3 i vores datasæt.

Læs mere: Sådan bruger du COUNTIF mellem to tal (4 metoder)

2. COUNTIF-funktion til at tælle en bestemt tekst i Excel

Hvis du ønsker at tælle en bestemt tekst, f.eks. hvor mange byer, navne eller fødevarer osv. der er i et Excel-ark, kan du bruge COUNTIF funktion i VBA .

Fra ovenstående eksempel lærer vi, hvordan man bruger COUNTIF til at tælle, hvor mange gange navnet John forekommer i vores datasæt med VBA makro.

Trin:

  • På samme måde som før, åbne Visual Basic-editor fra den Udvikler og Indsæt a Modul i kodevinduet.
  • Kopier følgende kode i kodevinduet, og indsæt den.
 Sub CountifText() 'input countName = WorksheetFunction.CountIf(Range("B5:B10"), "John") 'output Range("E7") = countName End Sub 

Din kode er nu klar til at køre.

  • Kør makroen, og du får det samlede antal.

Hvis du ikke ønsker at skrive teksten direkte i din kode, kan du gemme den i en variabel først og senere sende variablen ind i koden. Ligesom i nedenstående kode,

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

Læs mere: Tæl tekst i starten med COUNTIF & LEFT-funktioner i Excel

3. COUNTIF-funktion til beregning af tal med VBA

Du kan bruge den COUNTIF funktion til at udtrække visse resultater.

Fra ovenstående eksempel lærer vi, hvordan man bruger COUNTIF at tælle, hvor mange tal der er i vores datasæt, som er større end 1,1 med VBA makro.

Trin:

  • På samme måde som før, åbne Visual Basic-editor fra den Udvikler og Indsæt a Modul i kodevinduet.
  • Kopier følgende kode i kodevinduet, og indsæt den.
 Sub CountifNumber() 'input countNum = WorksheetFunction.CountIf(Range("B5:B10"), ">1.1") 'output Range("E7") = countNum End Sub 

Din kode er nu klar til at køre.

  • Kør makroen, og du får det samlede antal.

Hvis du ikke ønsker at skrive tallet direkte i din kode, kan du som tidligere nævnt gemme det i en variabel først og senere sende variablen ind i koden. Ligesom i nedenstående kode,

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

Læs mere: Excel COUNTIF med kriterierne større end og mindre end

Lignende læsninger

  • Excel COUNTIF-funktion til at tælle celler, der er større end 0
  • Sådan bruges IF- og COUNTIF-funktioner sammen i Excel
  • Excel COUNTIF til at tælle celle, der indeholder tekst fra en anden celle
  • Sådan bruges COUNTIF-funktionen til at beregne procentdel i Excel

4. COUNTIF-funktion med et interval af objekter i Excel

Du kan tildele en gruppe af celler til Område Objekt og derefter bruge denne Område Objekt til at tælle værdier i Excel.

Trin:

  • Åbn Visual Basic-editor fra den Udvikler og Indsæt a Modul i kodevinduet.
  • Kopier følgende kode i kodevinduet, og indsæt den.
 Sub ExCountIFRange() Dim iRng As Range 'tildeler intervallet af celler Set iRng = Range("B5:B10") 'bruger intervallet i formlen Range("B13") = WorksheetFunction.SumIf(iRng, ">1") 'frigiver intervalobjektet Set iRng = Nothing End Sub 

Din kode er nu klar til at køre.

  • Kør koden, og du vil få den samlede optælling med en summationsværdi.

Læs mere: Sådan bruges COUNTIF til ikke sammenhængende område i Excel

5. COUNTIF-formelmetode i Excel

Du kan også bruge Formel og/eller FormelR1C1 metode til at anvende en COUNTIF til en celle i VBA Disse metoder er mere fleksible i forbindelse med sådanne operationer.

5.1. Formelmetode

Formlen metoden gør det muligt at angive en række celler som B5:B10 vist nedenfor i eksemplet.

Trin:

  • I kodevinduet i Visual Basic-editor , kopier følgende kode og indsæt den.
 Option Explicit Sub ExCountIfFormula() Range("B13").Formula = "=COUNTIF(B5:B10, "">1"")" End Sub 

Din kode er nu klar til at køre.

Dette stykke kode giver dig den samlede optælling af de data, du har brug for.

5.2. FormelR1C1-metoden

FormlenR1C1 metoden er mere fleksibel, da den ikke begrænser sig til et bestemt område af celler.

Med det samme datasæt skal vi nu lære at bruge FormelR1C1 til at tælle værdier i VBA .

Trin:

  • I kodevinduet i Visual Basic-editor , kopier følgende kode og indsæt den.
 Option Explicit Sub ExCountIfFormulaRC() Range("B13").FormulaR1C1 = "= "=COUNTIF(R[-8]C:R[-1]C,"">2"")" End Sub 

Din kode er nu klar til at køre.

Denne kode vil også give dig den samlede optælling af de data, du har brug for.

Hvis du ikke ønsker at indstille outputområdet, kan du gøre denne kode endnu mere fleksibel ved at skrive sådan her,

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

Formlen tæller de celler, der opfylder betingelsen, og placerer svaret i feltet ActiveCell i dit regneark. Intervallet inden for COUNTIF funktion skal refereres ved hjælp af Række (R) og Kolonne (C) syntaks.

Læs mere: Sådan anvendes COUNTIF mellem to celleværdier i Excel

6. Tildeling af resultatet af COUNTIF-funktionen til en variabel

Hvis du vil bruge resultatet af din formel et andet sted end i dit Excel-datasæt, kan du tildele resultatet til en variabel og bruge det senere i din kode.

VBA kode til dette er,

 Sub AssignCountIfVariable() Dim iResult As Double 'Tildel variablen iResult = Application.WorksheetFunction.CountIf(Range("B5:B10"), "<3") 'Vis resultatet MsgBox "The count of cells with value less than 3 is " & iResult End Sub 

Resultatet vises i Excel-meddelelsesfeltet.

Læs mere: COUNTIF Excel Eksempel (22 Eksempler)

Konklusion

Denne artikel viste dig, hvordan du bruger COUNTIF funktion i Excel med VBA Jeg håber, at denne artikel har været til stor gavn for dig. Du er velkommen til at spørge, hvis du har spørgsmål til emnet.

Hugh West er en meget erfaren Excel-træner og analytiker med over 10 års erfaring i branchen. Han har en bachelorgrad i regnskab og finans og en kandidatgrad i Business Administration. Hugh har en passion for undervisning og har udviklet en unik undervisningstilgang, der er nem at følge og forstå. Hans ekspertviden om Excel har hjulpet tusindvis af studerende og fagfolk verden over med at forbedre deres færdigheder og udmærke sig i deres karriere. Gennem sin blog deler Hugh sin viden med verden og tilbyder gratis Excel-tutorials og onlinetræning for at hjælpe enkeltpersoner og virksomheder med at nå deres fulde potentiale.