Funktsioon Excel VBA COUNTA

Võib-olla olete Microsoft Excelis sageli kasutanud COUNT ja COUNTA funktsioone. Seal, kus COUNT lööb kõik lahtris olevad arvväärtused, hõivab COUNTA kõik mittetühjad lahtrid (sealhulgas stringid). Kas COUNTA funktsiooni on VBA kaudu kuidagi võimalik kasutada? Absoluutselt jah! Funktsiooni COUNTA saate VBA kaudu töölehe funktsioonina kasutada (kuna see on osa VBA-sisesest WorksheetFunction perekonnast) mittetühjade lahtrite loendamiseks antud töölehe vahemikus. Funktsiooni COUNTA eelis funktsiooni COUNT ees on see, et see võib loendada ükskõik mida (numbreid, stringe, erimärke, tõrke väärtusi jne), välja arvatud antud vahemikus olevad tühjad lahtrid, samas kui COUNT saab loendada ainult lahtrite arvu, mis koosnevad arvväärtustest .

VBA COUNTA süntaks:

Funktsiooni VBA COUNTA süntaks on järgmine:

Kus,

Arg1 - määrab selle funktsiooni argumendi, mis on kohustuslik ja võib võtta mis tahes mittetühja väärtuse, näiteks arvu, stringi, veaväärtused (nt # N / A, # DIV / 0!), Erimärgid jne, ülejäänud argumendid on valikuline.

See funktsioon võib ühe kõne ajal võtta maksimaalselt 30 argumenti. Argument võib koosneda lahtrite vahemikust või ühest väärtusest, mis sisestatakse käsitsi.

Kuidas kasutada funktsiooni COUNTA Excel VBA-s?

Allpool on toodud erinevad näited COUNTA funktsiooni kasutamiseks Excelis, kasutades VBA koodi.

Selle VBA COUNTA Exceli malli saate alla laadida siit - VBA COUNTA Exceli mall

Näide nr 1 - VBA COUNTA sisendina käsitsi argumentidega

Näeme, kuidas funktsioon COUNTA töötab, kui pakume sellele VBA-s käsitsi argumente. Järgige allpool nimetatud samme:

1. samm: sisestage uus moodul Visual Basic Editori (VBE). Klõpsake vahekaarti Insert > valige moodul.

2. samm: määratlege värskelt sisestatud moodulis uus alaprotseduur, mis mahutab teie makro.

Kood:

 Alamnäide_1 () lõpp alam 

3. samm: otsustage, kuhu tahame salvestada funktsiooni COUNTA väljundi. Tahan selle säilitada lehe nimega “ Näide 1 ” lahtrisse A2 . Selleks peame VBA-s kasutama Sheets.Range meetodit. Vaadake oma viitamiseks järgmist ekraanipilti:

Kood:

 Alamnäide_1 () lehed ("Näide 1"). Vahemik ("A2") Lõpp Alam 

See kooditükk valib lahtri A2 vahemikuna lehelt, mille nimi on Näide 1.

4. samm: kasutage määramisoperaatorit, et saaksime väärtuse määrata lahtrile, millele pääseb juurde ülaltoodud koodi kaudu. Lisage objekt nimega WorksheetFunction, et saaksime selle alusel juurde pääseda funktsioonile COUNTA.

Kood:

 Alamnäide_1 () lehed ("Näide 1"). Vahemik ("A2") = WorksheetFunction End Sub 

5. samm. Pange punkti (.) Järgi määratud objekt ja näete selle all kasutatavate funktsioonide loendit. Valige paljude saadaolevate funktsioonide loendist COUNTA, mis võimaldab teil loendada mittetühi lahtrid või väärtused.

6. samm: määrake argumendid käsitsi funktsiooni COUNTA alt. Argumendid on järgmised: “Rajnish”, “# puudub”, 1, “*”, tõsi. Oleme püüdnud tuua selle funktsiooni juurde kõiki andmetüüpe.

Kood:

 Alamnäide_1 () lehed ("Näide 1"). Vahemik ("A2") = WorksheetFunction.CountA ("Rajnish", "# N / A", 1, "*", True) End Sub 

7. samm: käivitage see kooditükk, vajutades nuppu F5 või nuppu Käivita, ja vaadake aktiivse töövihiku lehe “ Näide 1 ” lahtri A2 all olevat väljundit.

Selle koodi puhul tahame, et süsteem arvestaks sisendargumendid ja salvestaks loenduse lehe 1. näite lahtrisse A2.

Näide 2 - VBA COUNTA mittevahemikus olevate tühjade lahtrite loendamiseks

Oletame, et mul on andmeid kogu veeru A kohta ja ma pean arvestama, millised on mittetühjad read kogu veerus. Kuna kogu veerg koosneb enam kui 10 Laci reast, on minu jaoks ideaalne aeganõudev liikumine iga mittetühja lahtri poole ja selle loendamine. Vaadake allpool olevate andmete osalist ekraanipilti.

Järgige järgmisi samme:

1. samm: määratlege uus alaprotseduur, mis mahutab teie makro.

Kood:

 Alamnäide_2 () lõpp alam 

2. samm: määratlege selle alaprotseduuri alusel kaks uut muutujat vahemikuna, kasutades funktsiooni Dim . Üks muutuja on kasulik sisestusargumentide veeru vahemiku hoidmiseks ja muud muutujad on abiks lahtri hoidmisel, kus väljundit soovime loendatud arvuna.

Kood:

 Alamnäide_2 () Dim rng_1 As Range Dim op_cell As Range End Sub 

Siin salvestab rng_1 funktsiooni COUNTA sisendvahemiku. COUNTA väljund salvestatakse muutuja op_cell alla.

3. samm: määrake nüüd mõlema muutuja vahemik, kasutades atribuuti VBA Set. Seda tuleb teha, kuna me ei saa otseselt vahemiku objektina määratletud muutujale väärtust määrata.

Kood:

 Alamnäide_2 () Dim rng_1 As Range Dim op_cell As Range Set rng_1 = Range ("A: A") Set op_cell = Range ("B1") End Sub 

Siin on muutuja rng_1 seatud terve veeru vahemikule nimega A. op_cell on seatud lahtrisse B1, kuna see oleks lahter, mis sisaldab COUNTA väljundit.

4. samm. Nüüd kasutage muutuja op_cell vastu üldist määramisoperaatorit, et saaksime väljundi salvestada lahtrisse, mis on sellele muutujale seatud. Seda võib pidada väljundi initsialiseerimiseks.

Kood:

 Alamnäide_2 () Dim rng_1 As Range Dim op_cell As Range Set rng_1 = Range ("A: A") Set op_cell = Range ("B1") op_cell = End Sub 

5. samm: kasutage ülesandeoperaatori paremas servas asuvat objekti WorksheetFunction (see oleks avaldis, mida hinnatakse ja väärtus salvestatakse lahtrisse, mis on seatud muutujale op_cell), et lähtestada klass, millesse me pääseme ja mida kasutada Funktsioon COUNTA.

Kood:

 Alamnäide_2 () Dim rng_1 As Range Dim op_cell As Range Set rng_1 = Range ("A: A") Set op_cell = Range ("B1") op_cell = WorksheetFunction End Sub Sub 

6. samm: niipea, kui olete pärast WorksheetFunction objekti tabanud punkti (.), Pääsete juurde kõigile selle klassi alla kuuluvatele funktsioonidele. Liikuge funktsiooni COUNTA poole ja topeltklõpsake selle valimiseks.

7. samm: kasutage COUNTA sisestusargumendina muutujat rng_1. Seetõttu saab see töölehe funktsiooni objektiklassi funktsioon loendada kogu veerus A olevad mittetühjad lahtrid.

Kood:

 Alamnäide_2 () Dim rng_1 As Range Dim op_cell As Range Set rng_1 = Range ("A: A") Set op_cell = Range ("B1") op_cell = WorksheetFunction.CountA (rng_1) End Sub 

8. samm: käivitage see kood, vajutades nuppu F5 või Käivita. Näete väljundit, nagu näidatud allpool töövihiku aktiivse lehe lahtris B1.

Lahtris B1 näeme arvu nagu 17. Mis tähendab, et töölehe A-veerus on 17 mittetühja lahtrit. Võib-olla ei näe te selle ekraanipildi kaudu üldse 17, kuna see on osaline. Parem oleks näha töölehte ja liikuda A veerus.

Asjad, mida meeles pidada

  • Funktsiooni VBA COUNTA saate kasutada, kui peate loendama antud vahemikus olevate mittetühjade lahtrite arvu.
  • COUNTA arvestab kõiki väärtusi nagu numbreid, stringe, veaväärtusi, tõeväärtusi, tühja teksti (“”). Siiski ei loeta tühjaks lahtrit.
  • Tühje lahtrit ei arvestata funktsiooni COUNTA abil ja neid ignoreeritakse.
  • Funktsiooni VBA COUNTA saate argumente käsitsi kasutada ja see töötab endiselt.

Soovitatavad artiklid

See on VBA COUNTA funktsiooni juhend. Siin arutatakse, kuidas kasutada COUNTA funktsiooni Excel VBA-s koos praktiliste näidete ja allalaaditava excelimalliga. Võite vaadata ka meie teisi soovitatud artikleid -

  1. Kuidas luua kollektsiooniobjekt VBA-s?
  2. Kuidas arvutada tähemärke Excelis?
  3. FileCopy VBA-s (näited Exceli malliga)
  4. Arvestage lahtrid tekstiga Excelis | Exceli mall

Kategooria: