VBA BROJ

Ovaj vodič će vam pokazati kako koristiti funkciju Excel COUNT u VBA

Funkcija VBA COUNT koristi se za brojanje broja ćelija na vašem radnom listu koje imaju vrijednosti. Pristupa se metodom WorksheetFunction u VBA.

COUNT Funkcija radnog lista

Objekt WorksheetFunction može se koristiti za pozivanje većine Excel funkcija koje su dostupne u dijaloškom okviru Umetni funkciju u Excelu. Funkcija COUNT jedna je od njih.

123 Pod TestCountFunctinoRaspon ("D33") = Application.WorksheetFunction.Count (Raspon ("D1: D32"))Kraj podm

Možete imati do 30 argumenata u funkciji COUNT. Svaki od argumenata mora se odnositi na raspon ćelija.

Ovaj donji primjer će brojati koliko je stanica popunjeno vrijednostima u ćelijama D1 do D9

123 Broj podtesta ()Raspon ("D10") = Application.WorksheetFunction.Count (Raspon ("D1: D9"))Kraj podm

Primjer u nastavku će brojati koliko je vrijednosti u rasponu u stupcu D i u rasponu u stupcu F. Ako ne upišete objekt Application, to će se pretpostaviti.

123 Pod TestCountMultiple ()Raspon ("G8") = Funkcija radnog lista.Broj (raspon ("G2: G7"), Raspon ("H2: H7"))Kraj podm

Dodjeljivanje rezultata Count varijabli

Možda ćete htjeti koristiti rezultat svoje formule na drugom mjestu u kodu, a ne pisati ga izravno u Excel raspon. U tom slučaju rezultat možete dodijeliti varijabli koja će se kasnije koristiti u vašem kodu.

1234567 Sub AssignCount ()Zatamni rezultat kao cijeli broj'Dodijelite varijabluresult = WorksheetFunction.Count (Raspon ("H2: H11"))'Pokaži rezultatMsgBox "Broj ćelija popunjenih vrijednostima je" & rezultatKraj podm

COUNT s objektom raspona

Objektu Range možete dodijeliti skupinu ćelija, a zatim koristiti taj objekt Range s Funkcija radnog lista objekt.

123456789 Pod TestCountRange ()Dim rng As Range'dodijeliti raspon ćelijaPostavite rng = raspon ("G2: G7")'upotrijebite raspon u formuliRaspon ("G8") = Funkcija radnog lista.Broj (rng)'otpustite objekt rasponaPostavite rng = NištaKraj podm

COUNT Objekti višestrukog raspona

Slično, možete brojati koliko je ćelija popunjeno vrijednostima u više objekata raspona.

123456789101112 Pod TestCountMultipleRanges ()Dim rngA As RangeDim rngB kao raspon'dodijeliti raspon ćelijaPostavite rngA = Raspon ("D2: D10")Postavite rngB = Raspon ("E2: E10")'upotrijebite raspon u formuliRaspon ("E11") = Funkcija radnog lista.Broj (rngA, rngB)'otpustite objekt rasponaPostavite rngA = NištaPostavite rngB = NištaKraj podm

Korištenje COUNTA

Brojanje će brojati samo VRIJEDNOSTI u ćelijama, neće brojati ćeliju ako ćelija ima tekst u sebi. Za prebrojavanje ćelija koje su popunjene bilo kojom vrstom podataka, morali bismo upotrijebiti funkciju COUNTA.

123 Pod TestCountA ()Raspon ("B8) = Application.WorksheetFunction.CountA (Raspon (" B1: B6 "))Kraj podm

U donjem primjeru funkcija COUNT bi vratila nulu jer nema vrijednosti u stupcu B, dok bi vratila 4 za stupac C. Međutim, funkcija COUNTA brojala bi ćelije s tekstom i vratila bi vrijednost 5 u stupcu B, a još uvijek vraća vrijednost 4 u stupcu C.

Korištenje COUNTBLANKS

Funkcija COUNTBLANKS će brojati samo prazne ćelije u rasponu ćelija - tj. Ćelije u kojima uopće nema podataka.

123 Pod TestCountBlank ()Raspon ("B8) = Application.WorksheetFunction.CountBlanks (Raspon (" B1: B6 "))Kraj podm

U donjem primjeru stupac B nema praznih ćelija dok stupac C ima jednu praznu ćeliju.

Korištenje funkcije COUNTIF

Druga funkcija radnog lista koja se može koristiti je funkcija COUNTIF.

123456 Sub TestCountIf ()Raspon ("H14") = Funkcija radnog lista.CountIf (Raspon ("H2: H10"), "> 0")Raspon ("H15") = Funkcija radnog lista.CountIf (Raspon ("H2: H10"), "> 100")Raspon ("H16") = Funkcija radnog lista.CountIf (Raspon ("H2: H10"), "> 1000")Raspon ("H17") = Funkcija radnog lista.CountIf (Raspon ("H2: H10"), "> 10000")Kraj podm

Gornji postupak će brojati ćelije s vrijednostima u njima samo ako se kriteriji podudaraju - veći od 0, veći od 100, veći od 1000 i veći od 10000. Morate staviti kriterije u navodnike kako bi formula ispravno radila.

Nedostaci rada radnog lista

Kada koristite Funkcija radnog lista za brojanje vrijednosti u rasponu na vašem radnom listu vraća se statička vrijednost, a ne fleksibilna formula. To znači da kada se vaše brojke u Excelu promijene, vrijednost koju je vratio Funkcija radnog lista neće se promijeniti.

U gornjem primjeru, postupak TestCount je izbrojio ćelije u stupcu H gdje je prisutna vrijednost. Kao što možete vidjeti na traci s formulama, ovaj rezultat je brojka, a ne formula.

Ako se neka od vrijednosti promijeni u rasponu (H2: H12), rezultati u H14 hoće NE promijeniti.

Umjesto da koristite Radni list Funkcija.Broj, možete koristiti VBA za primjenu funkcije brojanja na ćeliju pomoću Formula ili Formula R1C1 metodama.

Korištenjem metode formule

Metoda formule omogućuje vam da posebno pokažete na niz ćelija, na primjer: H2: H12 kao što je prikazano u nastavku.

123 Pod TestCountFormulaRaspon ("H14"). Formula = "= Broj (H2: H12)"Kraj podm

Korištenjem metode FormulaR1C1

Metoda FromulaR1C1 fleksibilnija je po tome što vas ne ograničava na zadani raspon ćelija. Primjer u nastavku dat će nam isti odgovor kao i prethodni.

123 Pod TestCountFormula ()Raspon ("H14"). Formula = "= Broj (R [-9] C: R [-1] C)"Kraj podm

Međutim, kako bismo formulu učinili fleksibilnijom, kôd bismo mogli promijeniti tako da izgleda ovako:

123 Pod TestCountFormula ()ActiveCell.FormulaR1C1 = "= Broj (R [-11] C: R [-1] C)"Kraj podm

Gdje god se nalazili na svom radnom listu, formula će tada prebrojiti vrijednosti u 12 ćelija izravno iznad njega i smjestiti odgovor u vašu ActiveCell. Raspon unutar funkcije COUNT mora se pozvati pomoću sintakse Redak (R) i Stupac (C).

Obje ove metode omogućuju vam korištenje Dynamic Excel formula unutar VBA.

U H14 sada će postojati formula umjesto vrijednosti.

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave