VBA COUNTA - Kaip naudoti „COUNTA“ darbalapio funkciją „Excel VBA“?

COUNTA darbalapio funkcija „Excel VBA“

Ankstesniame mūsų straipsnyje „Excel COUNTA“ matėme, kaip naudoti funkciją COUNT, norint suskaičiuoti skaitines vertes iš verčių diapazono. Kaip būtų apskaičiuoti visas išlaidas langelių srityje? Taip, galime įvertinti ir tai. Norėdami suskaičiuoti visas langelių reikšmes ląstelių diapazone, „Excel VBA“ turime naudoti formulę „COUNTA“. Šiame straipsnyje mes parodysime, kaip naudoti funkciją COUNTA VBA, norint suskaičiuoti visas ląstelių reikšmes pateiktame diapazone.

COUNTA funkcijos VBA pavyzdžiai

Viena tiesa yra tai, kad funkcija „COUNTA“ nėra VBA funkcija. Žinau, kad jūsų klausimas yra toks: jei tai nėra VBA funkcija, tai kaip mes ją naudojame? Niekas nesijaudina, nors tai nėra VBA funkcija; vis tiek galime jį naudoti pagal darbalapio funkcijų klasę VBA kodavimui.

Gerai, parašykime kodą, kad pritaikytume „Excel VBA COUNTA“.

1 veiksmas: sukurkite subprocedūros pavadinimą.

2 žingsnis: Dabar pirmiausia nuspręskite, kur išsaugosime „VBA COUNTA“ funkcijos rezultatus. Šiame pavyzdyje noriu išsaugoti darbą C2 langelyje. Taigi mano kodas bus diapazonas („C2“).

Kodas:

Sub Counta_Example1 () diapazonas ("C2"). Reikšmė = End Sub

3 žingsnis: C2 langelyje mums reikia VBA COUNTA funkcijos vertės. Taigi, norint pritaikyti „Excel VBA COUNTA“ funkciją, pirmiausia reikia naudoti darbalapio funkcijų klasę.

Kodas:

Sub Counta_Example1 () diapazonas ("C2"). Reikšmė = Work End Sub

4 žingsnis: pritaikę darbalapio funkcijų klasę, įdėdami tašką, pasirinkite formulę COUNTA.

Kodas:

Sub Counta_Example1 () Range ("C2"). Reikšmė = WorksheetFunction.Count End Sub

5 žingsnis: Dabar turime pateikti skaičiuojamų ląstelių diapazoną. Šiame pavyzdyje turime apskaičiuoti langelių diapazoną nuo A1 iki A11. Pateikti langelius naudojant objektą VBA RANGE.

Kodas:

Sub Counta_Example1 () Range ("C2"). Reikšmė = WorksheetFunction.CountA (Range ("A1: A11")) Pabaiga Sub

Gerai, paleiskime kodą, kad gautume rezultatą C2 langelyje.

Taigi tą patį rezultatą grąžino ir VBA COUNTA.

Panašiai mes galime naudoti COUNTA, kad suskaičiuotume tuščias arba ne tuščias langelius iš pateikto diapazono.

Kodavimas su kintamaisiais

VBA kintamieji yra raktas kuriant projektą. Dabar tuos pačius duomenis galime deklaruoti VBA kintamuosius ir pasiekti rezultatą.

Pavyzdžiui, pažvelkite į žemiau pateiktą kodą.

Kodas:

Sub Counta_Example2 () Dim CountaRange As Range Dim CountaResultCell As Range Set CountaRange = Range ("A1: A11") Set CountaResultCell = Range ("C2") CountaResultCell = WorksheetFunction.CountA (CountaRange) End Sub

Paaiškinkime aukščiau pateiktą kodą dabar.

Pirma, aš paskelbiau kintamąjį „CountaRange“ kaip diapazoną, nurodantį verčių diapazoną.

„Dim CountaRange As Range“

Tada aš nustatiau nuorodą kaip diapazoną nuo A1 iki A11.

Nustatyti „CountaRange = Range“ („A1: A11“)

Antrasis kintamasis yra nuoroda į COUNTA rezultatų langelį.

„Dim CountaResultCell As Range“

Šio kintamojo langelį nustatiau kaip C2.

Nustatyti CountaResultCell = Diapazonas ("C2")

Dabar, kaip įprasta, pritaikiau funkciją COUNTA, naudodamas kintamuosius, o ne kietojo kodavimo diapazonus. Dabar pažiūrėkite į senąjį kodą ir šį VBA kodą.

1 kodas:

2 kodas:

1 kode turime diapazoną C2. 2 kode mes turime kintamojo pavadinimą „CountaResultCell“. Čia kintamasis „CountaResultCell“ nustato nuorodą kaip C2 langelį. Taigi dabar šis kintamasis yra C2 langelis.

1 kode COUNTA funkcijų diapazonas yra nuo A1 iki A11. 2 taisyklėje tai yra kintamasis, vadinamas „CountaRange“. Šis kintamasis turi nuorodą į diapazoną nuo A1 iki A11.

Tuo skiriasi senasis kodas ir kodas su kintamaisiais.

Taigi funkcija COUNTA padeda mums suskaičiuoti visas tuščias langelius iš pateikto diapazono, neatsižvelgiant į jo turimus duomenis.

Įdomios straipsniai...