Excel VBA COUNTA-funksjon

Du har ofte brukt COUNT og COUNTA-funksjonene i Microsoft Excel. I hvilket COUNT fanger opp alle tallverdiene i en celle, fanger COUNTA alle ikke-tomme celler (inkludert strengene). Er det på noen måte mulig å bruke COUNTA-funksjonen gjennom VBA? Absolutt ja! Du kan bruke COUNTA-funksjonen gjennom VBA som en regnearkfunksjon (ettersom den er en del av WorksheetFunction-familien i VBA) for å telle de ikke-tomme cellene gjennom et gitt regnearkområde. Fordelen med COUNTA over COUNT-funksjon er - den kan telle hva som helst (tall, strenger, spesialtegn, Feilverdier osv.) Bortsett fra tomme celler i et gitt område, mens COUNT bare kan telle antall celler som består av tallverdiene .

VBA COUNTA syntaks:

Syntaks for VBA COUNTA-funksjonen er som vist nedenfor:

Hvor,

Arg1 - Spesifiserer argumentet for denne funksjonen som er obligatorisk og kan ta en hvilken som helst ikke-tom verdi som antall, streng, feilverdier (som # N / A, # DIV / 0!), Spesialtegn osv. Resten av andre argumenter er valgfri.

Denne funksjonen kan maksimalt ta 30 argumenter i en enkelt samtale. Et argument kan bestå av et område med celler eller en enkelt verdi som er lagt inn manuelt.

Hvordan bruke COUNTA-funksjonen i Excel VBA?

Nedenfor er de forskjellige eksemplene du kan bruke COUNTA-funksjonen i Excel ved å bruke VBA-kode.

Du kan laste ned denne VBA COUNTA Excel-malen her - VBA COUNTA Excel-mal

Eksempel 1 - VBA COUNTA med manuelle argumenter som input

Vi vil se hvordan COUNTA-funksjonen fungerer når vi gir manuelle argumenter for den i VBA. Følg trinnene nedenfor:

Trinn 1: Sett inn en ny modul i Visual Basic Editor (VBE). Klikk på Sett inn fanen> velg Modul.

Trinn 2: Definer en ny delprosedyre i den nylig innsatte modulen, som kan inneholde makroen.

Kode:

 Undereksempel_1 () Slutt sub 

Trinn 3: Bestem hvor vi vil lagre output for COUNTA-funksjonen. Jeg vil lagre den i celle A2 i arket som heter “ Eksempel 1 ”. For å gjøre det, må vi bruke Sheets.Range- metoden i VBA. Se følgende skjermbilde for din referanse:

Kode:

 Subeksempel_1 () Ark ("Eksempel 1"). Område ("A2") Slutt sub 

Dette kodestykket velger cellen A2 som et område fra arket som heter Eksempel 1.

Trinn 4: Bruk en tildelingsoperatør slik at vi kan tilordne verdien til cellen som skal nås via koden over. Legg til objektet som heter WorksheetFunction, slik at vi får tilgang til COUNTA-funksjonen under den.

Kode:

 Undereksempel_1 () Ark ("Eksempel 1"). Område ("A2") = RegnearkFunksjonsslutt sub 

Trinn 5: Sett en prikk (.) Etter at objektet er spesifisert, og du vil se en liste over funksjoner som er tilgjengelige å bruke under den. Velg COUNTA fra listen over flere tilgjengelige funksjoner som lar deg telle de ikke-tomme cellene eller verdiene.

Trinn 6: Spesifiser argumentene manuelt under COUNTA-funksjonen. Argumenter er: “Rajnish”, “# N / A”, 1, “*”, True. Vi har prøvd å bringe alle datatypene som et argument til denne funksjonen.

Kode:

 Subeksempel_1 () Ark ("Eksempel 1"). Område ("A2") = RegnearkFunksjon.KontoA ("Skjønne", "# N / A", 1, "*", Sann) Slutt sub 

Trinn 7: Kjør dette koden ved å trykke på F5 eller Run- knappen og se utdataene under celle A2 i arket “ Eksempel 1 ” i den aktive arbeidsboka.

I denne koden ønsker vi at systemet skal telle inngangsargumentene og lagre tellingen under celle A2 i arket Eksempel 1.

Eksempel 2 - VBA COUNTA for å telle ikke-tomme celler i et gitt område

Anta at jeg har data over kolonne A, og jeg må telle hva som er de ikke-tomme radene i hele kolonnen. Siden hele kolonnen består av mer enn 10 Lac-rekker, er det en ideell tidkrevende for meg å navigere mot og telle hver ikke-tom celle. Se delvis skjermbilde av dataene nedenfor.

Følg trinnene nedenfor:

Trinn 1: Definer en ny delprosedyre som kan inneholde makroen.

Kode:

 Undereksempel_2 () Slutt sub 

Trinn 2: Definer to nye variabler under denne underprosedyren som et område ved bruk av Dim . En variabel vil være nyttig for å holde området med inngangsargumentkolonne, og andre variabler vil være nyttige når du holder cellen der vi vil ha utdata som et talt tall.

Kode:

 Undereksempel_2 () Dim rng_1 As Range Dim op_cell As Range End Sub 

Her vil rng_1 lagre inngangsområdet for COUNTA-funksjonen. Utdataene fra COUNTA lagres under variabelen op_cell .

Trinn 3: Angi nå området for begge variablene ved å bruke VBA Set-egenskapen. Dette skal gjøres fordi vi ikke direkte kan tilordne en verdi til en variabel definert som et områdeobjekt.

Kode:

 Undereksempel_2 () Dim rng_1 Som Range Dim op_cell As Range Set rng_1 = Range ("A: A") Sett op_cell = Range ("B1") End Sub 

Her er rng_1-variabelen satt til området for hele kolonnen som heter A. op_cell er satt til celle B1, som det ville være cellen som inneholder output fra COUNTA.

Trinn 4: Bruk nå generell tildelingsoperatør mot op_cell-variabel, slik at vi kan lagre utdataene under cellen som er satt til den variabelen. Dette kan betraktes som en utgangsinitialisering.

Kode:

 Undereksempel_2 () Dim rng_1 Som Range Dim op_cell Som Range Set rng_1 = Range ("A: A") Sett op_cell = Range ("B1") op_cell = End Sub 

Trinn 5: Bruk WorksheetFunction-objekt på høyre side av tildelingsoperatøren (det vil være et uttrykk som vil bli evaluert og verdien vil bli lagret under cellesettet til variabel op_cell) for å initialisere klassen som vi har tilgang til, samt bruke COUNTA-funksjon.

Kode:

 Undereksempel_2 () Dim rng_1 Som Range Dim op_cell As Range Set rng_1 = Range ("A: A") Sett op_cell = Range ("B1") op_cell = WorksheetFunction End Sub 

Trinn 6: Så snart du treffer dot (.) Etter WorksheetFunction-objektet, kan du få tilgang til alle tilgjengelige funksjoner under den klassen. Naviger mot COUNTA-funksjonen og dobbeltklikk på den for å velge.

Trinn 7: Bruk variabelen rng_1 som et inngangsargument under COUNTA. Derfor kan denne funksjonen under arbeidsarkets funksjonsobjektklasse telle de ikke-tomme cellene som er til stede i hele kolonnen A.

Kode:

 Undereksempel_2 () Dim rng_1 Som Range Dim op_cell Som Range Set rng_1 = Range ("A: A") Sett op_cell = Range ("B1") op_cell = WorksheetFunction.CountA (rng_1) End Sub 

Trinn 8: Kjør denne koden ved å trykke på F5 eller Run-knappen, og du kan se utdataene som vist nedenfor i celle B1 i et aktivt ark fra arbeidsboka.

I celle B1 kan vi se et tall som 17. Hvilket betyr at vi har 17 ikke-tomme celler til stede i kolonne A på arbeidsarket. Du ser kanskje ikke i det hele tatt 17 gjennom dette skjermbildet, da det er delvis. Du kan bedre se regnearket og navigere gjennom kolonne A.

Ting å huske

  • Du kan bruke VBA COUNTA-funksjonen når du må telle antall celler som ikke er tomme i det angitte området.
  • COUNTA vurderer alle verdiene som tall, strenger, feilverdier, booleanere, tom tekst (“”). Den vurderer imidlertid ikke cellen som er tom.
  • De tomme cellene telles ikke med COUNTA-funksjonen og blir ignorert.
  • Du kan bruke argumenter manuelt i VBA COUNTA-funksjonen, og det fungerer fortsatt.

Anbefalte artikler

Dette er en guide til VBA COUNTA-funksjon. Her diskuterer vi hvordan du bruker COUNTA Function i Excel VBA sammen med praktiske eksempler og nedlastbar Excel-mal. Du kan også gå gjennom andre foreslåtte artikler -

  1. Hvordan lage samleobjekt i VBA?
  2. Hvordan telle tegn i Excel?
  3. FileCopy i VBA (eksempler med Excel-mal)
  4. Telle celler med tekst i Excel | Excel-mal

Kategori: