Excel VBA COUNTA -toiminto

Olet ehkä käyttänyt usein COUNT- ja COUNTA-toimintoja Microsoft Excel -sovelluksessa. Siinä missä COUNT kaappaa kaikki numeeriset arvot solussa, COUNTA kaappaa kaikki ei-tyhjät solut (myös merkkijonot). Onko millään tavalla mahdollista käyttää COUNTA-toimintoa VBA: n kautta? Ehdottomasti kyllä! Voit käyttää COUNTA-toimintoa VBA: n kautta taulukkofunktiona (koska se on osa WorkspaceFunction-perhettä VBA: n sisällä) laskeaksesi tyhjät solut annetulla laskentataulukkoalueella. COUNTA: n etuna COUNT-toiminnasta on - se voi laskea mitä tahansa (numerot, merkkijonot, erikoismerkit, virhearvot jne.) Lukuun ottamatta tyhjiä soluja tietyllä alueella, kun taas COUNT voi laskea vain niiden solujen määrän, jotka koostuvat numeerisista arvoista .

VBA COUNTA -sintaksi:

VBA COUNTA -toiminnon syntaksi on seuraava:

Missä,

Arg1 - Määrittää argumentin tälle toiminnolle, joka on pakollinen ja voi ottaa minkä tahansa ei-tyhjän arvon, kuten numeron, merkkijonon, virhearvot (kuten # N / A, # DIV / 0!), Erikoismerkit jne. Muut muut argumentit ovat valinnainen.

Tämä toiminto voi ottaa korkeintaan 30 argumenttia yhdessä puhelussa. Argumentti voi koostua solualueesta tai yhdestä arvosta, joka syötetään manuaalisesti.

Kuinka käyttää COUNTA-toimintoa Excel VBA: ssa?

Alla on erilaisia ​​esimerkkejä COUNTA-toiminnon käyttämisestä Excelissä VBA-koodilla.

Voit ladata tämän VBA COUNTA Excel -mallin tästä - VBA COUNTA Excel Template

Esimerkki # 1 - VBA COUNTA, jossa syötteinä ovat manuaaliset argumentit

Näemme kuinka COUNTA-toiminto toimii, kun toimitamme sille manuaaliset argumentit VBA: ssa. Noudata alla mainittuja vaiheita:

Vaihe 1: Aseta uusi moduuli Visual Basic Editoriin (VBE). Napsauta Lisää välilehti> valitse moduuli.

Vaihe 2: Määritä äskettäin lisätyssä moduulissa uusi aliproseduuri, joka voi pitää makroasi.

Koodi:

 Alaesimerkki_1 () Loppu alaosaan 

Vaihe 3: Päätä, mihin haluamme tallentaa lähtö COUNTA-toiminnolle. Haluan tallentaa sen arkin “ Esimerkki 1 ” soluun A2 . Tätä varten meidän on käytettävä Sheets.Range- menetelmää VBA: ssa. Katso viitteesi seuraava kuvakaappaus:

Koodi:

 Alaesimerkki_1 () arkit ("Esimerkki 1"). Alue ("A2") Loppu alaosa 

Tämä koodipala valitsee solun A2 alueeksi esimerkistä 1 nimeltä taulukosta.

Vaihe 4: Käytä määritysoperaattoria, jotta voimme antaa arvon solulle, johon aiotaan päästä yllä olevan koodin kautta. Lisää objekti nimeltä WorksheetFunction, jotta voimme käyttää COUNTA-toimintoa sen alla.

Koodi:

 Alaesimerkki_1 () taulukot ("Esimerkki 1"). Alue ("A2") = WorksheetFunction End Sub 

Vaihe 5: Aseta piste (.) Määritetyn objektin jälkeen ja näet luettelon käytettävissä olevista toiminnoista sen alla. Valitse COUNTA useiden käytettävissä olevien toimintojen luettelosta, jonka avulla voit laskea ei-tyhjät solut tai arvot.

Vaihe 6: Määritä argumentit manuaalisesti COUNTA-toiminnosta. Argumentit ovat: “Rajnish”, “# N / A”, 1, “*”, totta. Olemme yrittäneet tuoda kaikki tietotyypit argumentiksi tähän funktioon.

Koodi:

 Alaesimerkki_1 () taulukot ("Esimerkki 1"). Alue ("A2") = WorksheetFunction.CountA ("Rajnish", "# N / A", 1, "*", True) End Sub 

Vaihe 7: Suorita tämä koodipala napsauttamalla F5- tai Suorita- painiketta ja katso tulos aktiivisen työkirjan arkin ” Esimerkki 1 ” solun A2 alle.

Tässä koodissa haluamme, että järjestelmä laskee syöttöargumentit ja tallentaa määrän arkin esimerkki 1 soluun A2.

Esimerkki 2 - VBA COUNTA ei-tyhjien solujen laskemiseksi tietyllä alueella

Oletetaan, että minulla on tietoja kaikista sarakkeista A ja minun on laskettava, mitkä ovat tyhjät rivit koko sarakkeessa. Koska koko sarake koostuu yli 10 Lac-rivistä, on minulle ihanteellinen aikaa kuljettaa kohti jokaista ei-tyhjää solua ja laskea se. Katso alla oleva tietojen osittainen kuvakaappaus.

Noudata seuraavia vaiheita:

Vaihe 1: Määritä uusi aliproseduuri, joka voi pitää makroasi.

Koodi:

 Alaesimerkki_2 () Loppu alaosaan 

Vaihe 2: Määritä kaksi uutta muuttujaa tämän alaproseduurin ala- alueeksi käyttämällä himmentää . Yksi muuttuja on hyödyllinen syöttöargumenttisarakkeen pitämisessä ja muut muuttujat auttavat pitämään solua, johon haluamme tulosteen laskettuna numerona.

Koodi:

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

Täällä rng_1 tallentaa syöttöalueen COUNTA-toiminnolle. COUNTA: n lähtö tallennetaan op_cell- muuttujaan.

Vaihe 3: Aseta nyt molemmille muuttujille alue käyttämällä VBA Set -ominaisuutta. Tämä on tehtävä, koska emme voi suoraan antaa arvoa vaihteluvälille, joka määritetään alueobjektiksi.

Koodi:

 Alaesimerkki_2 () Himmennetty rng_1 As Range Him op_cell As Range Set rng_1 = Range ("A: A") Set op_cell = Range ("B1") End Sub 

Tässä rng_1-muuttuja on asetettu koko sarakkeen alueelle nimeltä A. op_solu asetetaan soluun B1, koska se olisi solu, joka sisältää COUNTA: n lähdön.

Vaihe 4: Käytä nyt yleisen toimeksiannon operaattoria op_cell-muuttujaa vastaan, jotta voimme tallentaa ulostulon solulle, joka on asetettu kyseiselle muuttujalle. Tätä voidaan pitää lähtölähteenä.

Koodi:

 Alaesimerkki_2 () Himmennetty rng_1 As Range Him op_cell As Range Set rng_1 = Range ("A: A") Set op_cell = Range ("B1") op_cell = End Sub 

Vaihe 5: Käytä WorksheetFunction -objektia määritysoperaattorin oikealla puolella (se olisi lauseke, joka arvioidaan ja arvo tallennetaan soluun, joka asetetaan muuttujaan op_cell) alustamaan luokka, johon pääsyä ja käyttöä voidaan käyttää. COUNTA-toiminto.

Koodi:

 Alaesimerkki_2 () Himmennetty rng_1 As Range Him op_cell As Range Set rng_1 = Range ("A: A") Set op_cell = Range ("B1") op_cell = WorksheetFunction End Sub 

Vaihe 6: Heti kun osut pisteeseen (.) WorksheetFunction -objektin jälkeen, voit käyttää kaikkia luokan alla olevia toimintoja. Siirry kohti COUNTA-toimintoa ja kaksoisnapsauta sitä valitaksesi.

Vaihe 7: Käytä muuttujaa rng_1 syöttöargumenttina COUNTA-kohdassa. Siksi tämä laskentataulukkopohjaobjektiluokan funktio voi laskea koko sarakkeen A läsnä olevat ei-tyhjät solut.

Koodi:

 Alaesimerkki_2 () Himmennetty rng_1 As Range Him op_cell As Range Set rng_1 = Range ("A: A") Set op_cell = Range ("B1") op_cell = WorksheetFunction.CountA (rng_1) End Sub 

Vaihe 8: Suorita tämä koodi napsauttamalla F5- tai Suorita-painiketta ja näet tulosteen, kuten alla on aktiivikirjan solun B1 alla työkirjassa.

Solussa B1 voimme nähdä numeron 17. Mikä tarkoittaa, että laskentataulukon sarakkeessa A on 17 tyhjää solua. Et ehkä näe lainkaan 17 kuvaa tämän kuvakaappauksen kautta, koska se on osittainen. Sinun olisi parempi nähdä laskentataulukko ja selata A-saraketta.

Muistettavat asiat

  • Voit käyttää VBA COUNTA -toimintoa, kun joudut laskemaan tietyllä alueella olevien tyhjien solujen lukumäärä.
  • COUNTA ottaa huomioon kaikki arvot, kuten numerot, merkkijonot, virhearvot, boolia, tyhjä teksti (””). Se ei kuitenkaan katso tyhjää solua.
  • Tyhjiä soluja ei lasketa COUNTA-toiminnolla ja ne jätetään huomioimatta.
  • Voit käyttää argumentteja manuaalisesti VBA COUNTA -toiminnossa, ja se toimii edelleen.

Suositellut artikkelit

Tämä on opas VBA COUNTA -toimintoon. Tässä keskustellaan siitä, miten COUNTA-toimintoa voidaan käyttää Excel VBA: ssa, käytännön esimerkkien ja ladattavan Excel-mallin kanssa. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -

  1. Kuinka luoda kokoelmaobjekti VBA: lla?
  2. Kuinka lukea merkkejä Excelissä?
  3. FileCopy VBA: ssa (esimerkkejä Excel-mallilla)
  4. Laske solut tekstin kanssa Excelissä | Excel-malli

Luokka: