Funkcia Excel VBA COUNTA

Možno ste v aplikácii Microsoft Excel často používali funkcie COUNT a COUNTA. Kde COUNT zachytáva všetky číselné hodnoty v bunke, COUNTA zachytáva všetky neprázdne bunky (vrátane reťazcov). Je akýmkoľvek spôsobom možné použiť funkciu COUNTA prostredníctvom VBA? Samozrejme áno! Môžete použiť funkciu COUNTA prostredníctvom VBA ako funkciu pracovného hárka (pretože je súčasťou rodiny WorksheetFunction vo vnútri VBA) na spočítanie neprázdnych buniek v danom rozsahu pracovného hárka. Výhodou funkcie COUNTA oproti funkcii COUNT je to, že môže počítať čokoľvek (čísla, reťazce, špeciálne znaky, chybové hodnoty atď.) S výnimkou prázdnych buniek v danom rozsahu, zatiaľ čo COUNT môže počítať iba počet buniek, ktoré tvoria číselné hodnoty.,

Syntax VBA COUNTA:

Syntax funkcie VBA COUNTA je uvedená nižšie:

Kde,

Arg1 - Určuje argument pre túto funkciu, ktorý je povinný a môže mať ľubovoľnú neprázdnu hodnotu, ako je číslo, reťazec, chybové hodnoty (ako # N / A, # DIV / 0!), Špeciálne znaky atď. Ostatné argumenty sú voliteľná.

Táto funkcia môže prijať maximálne 30 argumentov v jednom hovore. Argument môže pozostávať z rozsahu buniek alebo z jednej hodnoty, ktorá sa zadáva ručne.

Ako používať funkciu COUNTA v Excel VBA?

Nižšie sú uvedené rôzne príklady použitia funkcie COUNTA v programe Excel pomocou kódu VBA.

Túto šablónu Excel VBA COUNTA si môžete stiahnuť tu - šablónu Excel VBA COUNTA

Príklad č. 1 - VBA COUNTA s ručnými argumentmi ako vstupom

Uvidíme, ako funguje funkcia COUNTA, keď im poskytneme manuálne argumenty vo VBA. Postupujte podľa nasledujúcich krokov:

Krok 1: Vložte nový modul do editora jazyka Visual Basic (VBE). Kliknite na kartu Vložiť > vyberte položku Modul.

Krok 2: Definujte novú čiastkovú procedúru v rámci novo vloženého modulu, ktorý môže obsahovať vaše makro.

kód:

 Sub príklad_1 () Koniec sub 

Krok 3: Rozhodnite sa, kam chceme uložiť výstup pre funkciu COUNTA. Chcem ho uložiť do bunky A2 listu s názvom „ Príklad 1 “. Aby sme to mohli urobiť, musíme použiť metódu Sheets.Range vo VBA. Pozrite si nasledujúcu snímku obrazovky, ktorá slúži ako referencia:

kód:

 Čiastkový príklad_1 () Listy („Príklad 1"). Rozsah („A2") Koniec Č 

Tento kus kódu vyberie bunku A2 ako rozsah z hárku s názvom Príklad 1.

Krok 4: Použite operátora priradenia, aby sme mohli bunke, ktorá bude mať prístup prostredníctvom vyššie uvedeného kódu, priradiť hodnotu. Pridajte objekt s názvom WorksheetFunction, aby sme pod ním mali prístup k funkcii COUNTA.

kód:

 Čiastkový príklad_1 () Tabuľky („Príklad 1"). Rozsah („A2") = Koncový list tabuľky funkcií 

Krok 5: Vložte bodku (.) Po zadaný objekt a pod ním sa zobrazí zoznam funkcií, ktoré je možné použiť. Vyberte COUNTA zo zoznamu viacerých dostupných funkcií, ktoré vám umožňujú spočítať neprázdne bunky alebo hodnoty.

Krok 6: Zadajte argumenty manuálne v rámci funkcie COUNTA. Argumenty sú: „Rajnish“, „# N / A“, 1, „*“, True. Pokúsili sme sa priniesť všetky typy údajov ako argument pre túto funkciu.

kód:

 Čiastkový príklad_1 () Tabuľky („Príklad 1"). Rozsah („A2") = WorksheetFunction.CountA ("Rajnish", "# N / A", 1, "*", True) End Sub 

Krok 7: Spustite tento kus kódu stlačením klávesu F5 alebo Run a pozrite si výstup pod bunkou A2 v hárku „ Príklad 1 “ v aktívnom zošite.

V tomto kóde chceme, aby systém spočítal vstupné argumenty a uložil ich do bunky A2 v hárku Príklad 1.

Príklad č. 2 - VBA COUNTA na počítanie neprázdnych buniek v danom rozsahu

Predpokladajme, že mám údaje v celom stĺpci A a musím počítať, čo sú neprázdne riadky v celom stĺpci. Pretože celý stĺpec pozostáva z viac ako 10 lacových riadkov, je pre mňa ideálne, časovo náročné prechádzať a počítať každú neprázdnu bunku. Pozrite si čiastočnú snímku obrazovky s údajmi nižšie.

Postupujte podľa nasledujúcich krokov:

Krok 1: Definujte nový čiastkový postup, ktorý môže obsahovať vaše makro.

kód:

 Čiastkový príklad_2 () Koncový čiastkový údaj 

Krok 2: V rámci tohto čiastkového postupu definujte dve nové premenné ako rozsah pomocou Dim . Jedna premenná bude užitočná na udržanie stĺpca rozsahu vstupných argumentov a ďalšie premenné budú užitočné pri udržiavaní bunky, kde chceme, aby výstup bol počítané číslo.

kód:

 Čiastkový príklad_2 () Dim rng_1 As Range Dim op_cell As Range End Sub 

Tu rng_1 uloží vstupný rozsah pre funkciu COUNTA. Výstup COUNTA bude uložený pod premennou op_cell .

Krok 3: Teraz nastavte rozsah pre obe premenné pomocou vlastnosti VBA Set. Toto je potrebné urobiť, pretože nemôžeme priamo priradiť hodnotu premennej definovanej ako objekt rozsahu.

kód:

 Sub Príklad_2 () Dim rng_1 Ako rozsah Dim op_cell Ako sada rozsahov rng_1 = Range ("A: A") Set op_cell = Range ("B1") End Sub 

Tu bola premenná rng_1 nastavená na rozsah celého stĺpca s názvom A. op_cell je nastavený na bunku B1, pretože by to bola bunka, ktorá obsahuje výstup z COUNTA.

Krok 4: Teraz použite všeobecný operátor priradenia proti premennej op_cell, aby sme mohli výstup uložiť do bunky, ktorá je nastavená na túto premennú. Toto možno považovať za inicializáciu výstupu.

kód:

 Sub Príklad_2 () Dim rng_1 Ako Range Dim op_cell As Range Set rng_1 = Range ("A: A") Set op_cell = Range ("B1") op_cell = End Sub 

Krok 5: Použite objekt WorksheetFunction na pravej strane operátora priradenia (bol by to výraz, ktorý bude vyhodnotený a hodnota bude uložená v bunkovej množine do premennej op_cell) na inicializáciu triedy, v rámci ktorej máme prístup, ako aj použitie Funkcia COUNTA.

kód:

 Sub Example_2 () Dim rng_1 As Range Dim op_cell As Range Range rng_1 = Range ("A: A") Set op_cell = Range ("B1") op_cell = WorksheetFunction End Sub Sub 

Krok 6: Akonáhle stlačíte bodku (.) Po objekte WorksheetFunction, získate prístup ku všetkým funkciám dostupným v tejto triede. Prejdite na funkciu COUNTA a vyberte ju dvojitým kliknutím.

Krok 7: Ako vstupný argument v rámci COUNTA použite premennú rng_1. Preto táto funkcia v triede objektov funkcie hárka môže spočítať neprázdne bunky prítomné v celom stĺpci A.

kód:

 Sub Príklad_2 () Dim rng_1 As Range Dim op_cell As Range Set rng_1 = Range ("A: A") Set op_cell = Range ("B1") op_cell = WorksheetFunction.CountA (rng_1) End Sub 

Krok 8: Spustite tento kód stlačením klávesu F5 alebo Run a výstup môžete vidieť v bunke B1 aktívneho hárka zo zošita, ako je uvedené nižšie.

V bunke B1 vidíme číslo ako 17. Čo znamená, že máme 17 neprázdnych buniek prítomných v stĺpci A tabuľky. Pomocou tohto snímky obrazovky sa vám nemusí zobraziť vôbec 17, pretože je to čiastočný obrázok. Lepšie by ste si mohli pozrieť pracovný list a prechádzať stĺpcom A.

Čo je potrebné pamätať

  • Funkciu VBA COUNTA môžete použiť, keď musíte spočítať počet neprázdnych buniek prítomných v danom rozsahu.
  • COUNTA berie do úvahy všetky hodnoty, ako sú čísla, reťazce, chybové hodnoty, booleovské čísla, prázdny text („“). Nezohľadňuje však bunku, ktorá je prázdna.
  • Prázdne bunky sa nebudú počítať pomocou funkcie COUNTA a budú ignorované.
  • Vo funkcii VBA COUNTA môžete argumenty používať manuálne a stále to funguje.

Odporúčané články

Toto je sprievodca funkciou VBA COUNTA. Tu diskutujeme o tom, ako používať funkciu COUNTA v Excel VBA spolu s praktickými príkladmi a šablónou Excel na stiahnutie. Môžete si tiež prečítať naše ďalšie navrhované články -

  1. Ako vytvoriť objekt kolekcie vo VBA?
  2. Ako spočítať postavy v Exceli?
  3. FileCopy vo VBA (príklady so šablónou programu Excel)
  4. Spočítajte bunky s textom v Exceli Šablóna Excel

Kategórie: