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 TemplateEsimerkki # 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 -
- Kuinka luoda kokoelmaobjekti VBA: lla?
- Kuinka lukea merkkejä Excelissä?
- FileCopy VBA: ssa (esimerkkejä Excel-mallilla)
- Laske solut tekstin kanssa Excelissä | Excel-malli