ŠTEVILO VBA

Ta vadnica vam bo pokazala, kako uporabljati funkcijo Excel COUNT v VBA

Funkcija VBA COUNT se uporablja za štetje števila celic na vašem delovnem listu, ki vsebujejo vrednosti. Do njega dostopate z metodo WorksheetFunction v VBA.

COUNT Delovni list

Objekt WorksheetFunction lahko uporabite za klic večine Excelovih funkcij, ki so na voljo v pogovornem oknu Vstavi funkcijo v Excelu. Ena izmed njih je funkcija COUNT.

123 Sub TestCountFunctinoObseg ("D33") = Application.WorksheetFunction.Count (Range ("D1: D32"))End Sub

V funkciji COUNT lahko imate do 30 argumentov. Vsak od argumentov se mora sklicevati na obseg celic.

Ta spodnji primer bo štel, koliko celic je poseljenih z vrednostmi v celicah D1 do D9

123 Sub TestCount ()Obseg ("D10") = Application.WorksheetFunction.Count (Range ("D1: D9"))End Sub

Spodnji primer bo štel, koliko vrednosti je v območju v stolpcu D in v obsegu v stolpcu F. Če ne vnesete predmeta aplikacije, bo to predpostavljeno.

123 Sub TestCountMultiple ()Obseg ("G8") = Funkcija delovnega lista.Število (obseg ("G2: G7"), Obseg ("H2: H7"))End Sub

Dodelitev rezultata Count spremenljivki

Rezultat svoje formule boste morda želeli uporabiti drugje v kodi, namesto da bi ga zapisali neposredno nazaj in v obseg Excel. V tem primeru lahko rezultat dodelite spremenljivki, ki jo boste uporabili pozneje v kodi.

1234567 Sub AssignCount ()Zatemni rezultat kot celo število'Dodelite spremenljivkoresult = WorksheetFunction.Count (obseg ("H2: H11"))'Pokaži rezultatMsgBox "Število celic, poseljenih z vrednostmi, je" & rezultatEnd Sub

COUNT z objektom obsega

Objektu Range lahko dodelite skupino celic, nato pa ta predmet Range uporabite z Funkcija delovnega lista predmet.

123456789 Sub TestCountRange ()Dim rng As Range'dodelite obseg celicNastavi rng = območje ("G2: G7")"uporabite obseg v formuliObseg ("G8") = Funkcija delovnega lista.Število (rng)'spustite predmet obsegaNastavi rng = NičEnd Sub

ŠTEVI Več objektov obsega

Podobno lahko preštejete, koliko celic je poseljenih z vrednostmi v več objektih obsega.

123456789101112 Sub TestCountMultipleRanges ()Dim rngA As RangeZatemni rngB kot obseg'dodelite obseg celicNastavite rngA = območje ("D2: D10")Nastavi rngB = Razpon ("E2: E10")"uporabite obseg v formuliObseg ("E11") = Funkcija delovnega lista.Število (rngA, rngB)'spustite predmet obsegaNastavi rngA = NičNastavi rngB = NičEnd Sub

Uporaba COUNTA

Štetje bo štelo samo VREDNOSTI v celicah, ne bo štelo celice, če je v celici besedilo. Za štetje celic, ki so poseljene s kakršnimi koli podatki, bi morali uporabiti funkcijo COUNTA.

123 Sub TestCountA ()Obseg ("B8) = Application.WorksheetFunction.CountA (Range (" B1: B6 "))End Sub

V spodnjem primeru bi funkcija COUNT vrnila nič, saj v stolpcu B ni vrednosti, medtem ko bi vrnila 4 za stolpec C. Funkcija COUNTA pa bi štela celice z besedilom in vrnila vrednost 5 v stolpcu B, medtem ko še vedno vrača vrednost 4 v stolpcu C.

Uporaba COUNTBLANKS

Funkcija COUNTBLANKS bo štela samo prazne celice v obsegu celic - torej celice, v katerih sploh ni podatkov.

123 Sub TestCountBlank ()Obseg ("B8) = Application.WorksheetFunction.CountBlanks (obseg (" B1: B6 "))End Sub

V spodnjem primeru stolpec B nima praznih celic, stolpec C pa eno prazno celico.

Uporaba funkcije COUNTIF

Druga funkcija delovnega lista, ki jo lahko uporabite, je funkcija COUNTIF.

123456 Sub TestCountIf ()Razpon ("H14") = Delovni listFunction.CountIf (Razpon ("H2: H10"), "> 0")Obseg ("H15") = Funkcija delovnega lista.CountIf (Razpon ("H2: H10"), "> 100")Obseg ("H16") = Funkcija delovnega lista.CountIf (Razpon ("H2: H10"), "> 1000")Obseg ("H17") = Funkcija delovnega lista.CountIf (Razpon ("H2: H10"), "> 10000")End Sub

Zgornji postopek bo štel celice z vrednostmi v njih le, če se merila ujemajo - več kot 0, več kot 100, več kot 1000 in več kot 10000. Če želite, da formula deluje pravilno, morate pod narekovaje.

Slabosti delovanja delovnega lista

Ko uporabljate Funkcija delovnega lista za štetje vrednosti v obsegu na vašem delovnem listu se vrne statična vrednost in ne prilagodljiva formula. To pomeni, da ko se vaše številke v Excelu spremenijo, vrednost, ki jo je vrnil Funkcija delovnega lista se ne bo spremenilo.

V zgornjem primeru je postopek TestCount preštel celice v stolpcu H, kjer je prisotna vrednost. Kot lahko vidite v vrstici s formulami, je ta rezultat številka in ne formula.

Če se torej katera koli vrednost spremeni v razponu (H2: H12), se bodo rezultati v H14 spremenili NE spremeniti.

Namesto da uporabite Delovni listFunction.Count, lahko z VBA uporabite funkcijo štetja za celico z uporabo Formula ali Formula R1C1 metode.

Z uporabo metode formule

Metoda formule vam omogoča, da posebej pokažete na vrsto celic, na primer: H2: H12, kot je prikazano spodaj.

123 Sub TestCountFormulaRazpon ("H14"). Formula = "= Štetje (H2: H12)"End Sub

Z uporabo metode FormulaR1C1

Metoda FromulaR1C1 je bolj prilagodljiva, saj vas ne omejuje na določeno območje celic. Spodnji primer nam bo dal enak odgovor kot zgornji.

123 Sub TestCountFormula ()Razpon ("H14"). Formula = "= Štetje (R [-9] C: R [-1] C)"End Sub

Da pa bi bila formula bolj prilagodljiva, bi lahko kodo spremenili takole:

123 Sub TestCountFormula ()ActiveCell.FormulaR1C1 = "= Štetje (R [-11] C: R [-1] C)"End Sub

Kjer koli ste na svojem delovnem listu, bo formula nato preštela vrednosti v 12 celicah neposredno nad njim in odgovor postavila v vašo ActiveCell. Na obseg znotraj funkcije COUNT se je treba sklicevati s sintakso vrstice (R) in stolpca (C).

Obe metodi vam omogočata uporabo formul Dynamic Excel v VBA.

Namesto vrednosti bo zdaj v H14 formula.

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave