VBA COUNT

See õpetus näitab teile, kuidas VBA -s kasutada funktsiooni Excel COUNT

Funktsiooni VBA COUNT loetakse teie töölehe lahtrite arvuks, millel on väärtused. Sellele pääseb juurde VBA -s WorksheetFunction -meetodi abil.

COUNT töölehe funktsioon

Objekti WorksheetFunction abil saab helistada enamikule Exceli funktsioonidele, mis on saadaval Exceli dialoogiboksis Lisa funktsioon. Funktsioon COUNT on üks neist.

123 AlamkontrollFunctinoVahemik ("D33") = Application.WorksheetFunction.Count (Vahemik ("D1: D32"))End Sub

Funktsioonis COUNT saate esitada kuni 30 argumenti. Iga argument peab viitama lahtrivahemikule.

See alltoodud näide loendab, kui palju lahtreid väärtustega on lahtrites D1 kuni D9

123 Alamkatsearv ()Vahemik ("D10") = Application.WorksheetFunction.Count (Vahemik ("D1: D9"))End Sub

Allolevas näites loetakse, kui palju väärtusi on veeru D vahemikus ja veeru F vahemikus. Kui te ei kirjuta objekti Rakendus, eeldatakse seda.

123 Alam TestCountMultiple ()Vahemik ("G8") = WorksheetFunction.Count (Vahemik ("G2: G7"), vahemik ("H2: H7"))End Sub

Loendustulemuse määramine muutujale

Võib -olla soovite oma valemi tulemust kasutada mujal koodis, selle asemel, et kirjutada see otse tagasi ja Exceli vahemikku. Sellisel juhul saate tulemuse määrata muutujale, et seda oma koodis hiljem kasutada.

1234567 Sub AssignCount ()Tuhm tulemus täisarvuna'Määrake muutujaresult = WorksheetFunction.Count (Vahemik ("H2: H11"))'Näita tulemustMsgBox "Väärtustega täidetud lahtrite arv on" & resultEnd Sub

COUNT koos vahemiku objektiga

Objektile Range saate määrata lahtrirühma ja seejärel kasutada seda vahemiku objekti koos TöölehtFunktsioon objekti.

123456789 Alam TestCountRange ()Dim rng As Range'määrake lahtrite vahemikMäära rng = vahemik ("G2: G7")'kasutage valemis vahemikkuVahemik ("G8") = WorksheetFunction.Count (rng)'vabastage vahemiku objektMäära rng = mitte midagiEnd Sub

COUNT mitme vahemiku objekti

Samamoodi saate loendada, kui palju lahtreid on väärtustega mitmetes vahemiku objektides.

123456789101112 Alam TestCountMultipleRanges ()Dim rngA As RangeDim rngB kui vahemik'määrake lahtrite vahemikMäära rngA = Vahemik ("D2: D10")Määra rngB = vahemik ("E2: E10")'kasutage valemis vahemikkuVahemik ("E11") = WorksheetFunction.Count (rngA, rngB)'vabastage vahemiku objektMäära rngA = Mitte midagiMäära rngB = mitte midagiEnd Sub

COUNTA kasutamine

Loendus loendab ainult väärtusi lahtrites, see ei loe lahtrit, kui lahtris on tekst. Igasuguste andmetega täidetud lahtrite loendamiseks peaksime kasutama funktsiooni COUNTA.

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

Allolevas näites tagastaks funktsioon COUNT nulli, kuna veerus B pole väärtusi, samas kui veerus C oleks 4. Funktsioon COUNTA loendaks aga lahtrid, milles on tekst, ja tagastaks väärtuse 5 veerus B, tagastades siiski veeru C väärtuse 4.

COUNTBLANKSi kasutamine

Funktsioon COUNTBLANKS loendab ainult lahtrite vahemikus olevaid tühje lahtreid - st lahtreid, millel pole üldse andmeid.

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

Allolevas näites pole veerus B tühje lahtreid, samas kui veerus C on üks tühi lahter.

Funktsiooni COUNTIF kasutamine

Teine töölehe funktsioon, mida saab kasutada, on funktsioon COUNTIF.

123456 Sub TestCountIf ()Vahemik ("H14") = WorksheetFunction.CountIf (Vahemik ("H2: H10"), "> 0")Vahemik ("H15") = WorksheetFunction.CountIf (Vahemik ("H2: H10"), "> 100")Vahemik ("H16") = WorksheetFunction.CountIf (Vahemik ("H2: H10"), "> 1000")Vahemik ("H17") = WorksheetFunction.CountIf (Vahemik ("H2: H10"), "> 10000")End Sub

Ülaltoodud protseduur loeb lahtrid, milles on väärtused, ainult siis, kui kriteeriumid on sobivad - suurem kui 0, suurem kui 100, suurem kui 1000 ja suurem kui 10000. Valemi õigeks toimimiseks peate kriteeriumid jutumärkidesse panema.

Töölehe funktsiooni puudused

Kui kasutate TöölehtFunktsioon töölehe vahemiku väärtuste loendamiseks tagastatakse staatiline väärtus, mitte paindlik valem. See tähendab, et kui teie arvud Excelis muutuvad, siis väärtus, mille on tagastanud TöölehtFunktsioon ei muutu.

Ülaltoodud näites on protseduur TestCount loendanud veeru H lahtrid, kus väärtus on olemas. Nagu näete valemiribal, on see tulemus joonis ja mitte valem.

Kui mõni väärtustest muutub seetõttu vahemikus (H2: H12), muutuvad tulemused H14 -s MITTE muutus.

Selle asemel, et kasutada TöölehtFunktsioon. Loend, saate VBA abil loendusfunktsiooni rakendada lahtrile, kasutades Valem või Valem R1C1 meetodeid.

Valemimeetodi kasutamine

Valemimeetod võimaldab teil osutada konkreetselt lahtrite vahemikule, nt: H2: H12, nagu allpool näidatud.

123 Alam TestCountFormulaVahemik ("H14"). Valem = "= Count (H2: H12)"End Sub

Kasutades meetodit FormulaR1C1

FromulaR1C1 meetod on paindlikum, kuna see ei piira teid teatud lahtrite vahemikuga. Allolev näide annab meile sama vastuse nagu ülaltoodud.

123 Alam TestCountFormula ()Vahemik ("H14"). Valem = "= Count (R [-9] C: R [-1] C)"End Sub

Kuid valemi paindlikumaks muutmiseks võiksime koodi muuta järgmiselt:

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

Kus iganes te oma töölehel asute, loeb valem seejärel selle kohal olevate 12 lahtri väärtused ja paneb vastuse teie ActiveCelli. Funktsiooni COUNT sees olevale vahemikule tuleb viidata, kasutades rida (R) ja veeru (C) süntaksit.

Mõlemad meetodid võimaldavad teil VBA -s kasutada dünaamilisi Exceli valemeid.

H14 -s on nüüd väärtuse asemel valem.

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave