VBA SKAIČIUS
Kriterijomis pagrįstos funkcijos yra „Excel“ valdovai skaičiuojant. „Excel“ mokymosi pradžioje mes būtinai išmokome COUTNIF procesą „Excel“. Ankstesniuose straipsniuose parodėme, kaip dirbti su „COUNTIF“ funkcija „Excel VBA“.
Norėdami sužinoti „COUNTIF“ funkcijos „Excel VBA“ pagrindus, skaitykite mūsų straipsnį apie „COUNTIF“ formulę „Excel“. Šiame straipsnyje mes parodysime, kaip naudoti tą pačią funkciją VBA koduojant. Dabar tą pačią formulę pamatysime ir VBA. Pirmiausia, COUNTIF nėra VBA funkcija; Vietoj to, tai yra darbalapio funkcija, kurią galima pasiekti pagal darbalapio funkcijų klasę.

„Excel VBA Countif“ funkcijos pavyzdys
Gerai, pažiūrėkime paprastą pavyzdį.
Pažiūrėkite į tą patį vertės skaičiavimo iš partijos pavyzdį.

Aukščiau pateiktame paveikslėlyje mes turime miestų pavadinimus nuo langelio A1 iki A10. C3 langelyje turime suskaičiuoti, kiek kartų miesto pavadinimas „Bangalore“ rodomas diapazone nuo A1 iki A10.
Gerai, atlikite toliau nurodytus veiksmus, kad parašytumėte kodą, kad pritaikytumėte funkciją COUNTIF.
1 veiksmas: pradėkite antrinę procedūrą.
Kodas:
Parinktis „Aiškus sub“ Countif_Pavyzdys1 () Pabaigos sub

2 žingsnis: Kadangi rezultatą turime saugoti C3 langelyje, pradėkite diapazoną („C3“).
Kodas:
Sub Countif_Example1 () diapazonas ("C3"). Reikšmė = End Sub

3 žingsnis: C3 langelyje, pritaikydami „Excel VBA COUNTIF“ funkciją, bandome pasiekti rezultatą. Taigi, norėdami pasiekti funkciją, pirmiausia turime naudoti „Worksheet Function“ klasę.
Kodas:
Sub Countif_Example1 () diapazonas ("C3"). Reikšmė = WorksheetFunction. Pabaigos sub

4 žingsnis: Iš prarasto pasirinkimo „Excel VBA COUNTIF“ funkcija.
Kodas:
Sub Countif_Example1 () diapazonas ("C3"). Reikšmė = WorksheetFunction.CountIf (End Sub

5 žingsnis: Jei pažvelgsite į VBA COUNTIF funkcijos parametrus, mes nematome parametro, kaip matome darbalapyje.

Kaip matome aukščiau pateiktame darbalapio paveikslėlyje, turime tikslią sintaksę, tačiau VBA matome tik Arg 1 ir Arg 2.
Arg 1 yra diapazonas, todėl pasirinkite diapazoną nuo A1 iki A10.
Kodas:
Sub Countif_Example1 () Range ("C3"). Reikšmė = WorksheetFunction.CountIf (Range ("A1: A10"), End Sub

6 žingsnis: Arg 2 yra ta vertė, kurią turime suskaičiuoti nuo A1 iki A10 diapazono. Šiame pavyzdyje turime apskaičiuoti „Bangalore“.
Kodas:
Sub Countif_Example1 () Range ("C3"). Reikšmė = WorksheetFunction.CountIf (Range ("A1: A10"), "Bangalore") Pabaiga Sub

Gerai, mes baigėme.
Paleiskite kodą, kad pamatytumėte rezultatą C3 langelyje.

Rezultatą gavome kaip 4. Kadangi miesto pavadinimas „Bangalore“, rodomas langelyje A1, A4, A7 ir A10 VBA COUNTIF, grąžino produktą kaip 4.
Jei matote, kad VBA kodas grąžino tik formulės rezultatą, mes nesužinome formulės juostos procedūros.

Norėdami pasiekti formulę, kodą turime parašyti šiek tiek kitaip. Žemiau yra kodas, kurį galite pritaikyti pačiai formulei langelyje.
Kodas:
Sub Countif_Example1 () diapazonas ("C3"). Formulė = "= CountIf (A1: A10," "Bangalore" ")" Pabaiga Sub
Tai pritaikys formulę ląstelei C3.

Gauti rezultatą su kintamaisiais
Kintamieji yra neatsiejama bet kurios kodavimo kalbos dalis. Turime paskelbti, kad kintamieji efektyviai veikia su VBA kodu. Pavyzdžiui, pažvelkite į žemiau pateiktą kodą.
Kodas:
Sub Countif_Example2() Dim ValuesRange As Range Dim ResultCell As Range Dim CriteriaValue As String Set ValuesRange = Range("A1:A10") Set ResultCell = Range("C3") CriteriaValue = "Bangalore" ResultCell = WorksheetFunction.CountIf(ValuesRange, CriteriaValue) End Sub
Let me decode the code for you to understand better.
Firstly I have declared the two variables as Range.
Dim ValuesRange As Range: This is to reference the list of values.
Dim ResultCell As Range: This to reference the result cell.
Then I have set the range of references to both the variables.
Set ValuesRange = Range(“A1: A10”): This is the range where all the city names are there.
Set ResultCell = Range(“C3”): In this cell, we will store the result of the COUNTIF function.
In the meantime, I have declared one more variable to store the criteria value.
„Dim CriteriaValue“ kaip eilutė
CriteriaValue = „Bangaloras“
Taigi dabar kintamasis „CriteteriaValue“ turi reikšmę „Bangalore“.
Kitoje eilutėje, kaip įprasta, pritaikiau funkciją COUTNIF.
ResultCell = WorksheetFunction.CountIf (ValuesRange, CriteriaValue)
Taip galime pritaikyti „COUNTIF“ funkciją „Excel VBA“, kad atitiktų mūsų poreikius.