Počítadlo v Excelu VBA
V MS Excel existují různé způsoby počítání. Můžeme použít vestavěné funkce jako Count, CountIf, CountA, CountBlank, které jsou v Excelu. Ale tyto funkce nebudou ve VBA fungovat správně a mají také omezení. Abychom to překonali, máme mnoho funkcí a příkazů a proces, pomocí kterého můžeme provádět VBA Counter. VBA Counter se používá pro počítání buněk, počítání obsahu buněk a také se používá jako časovač odpočítávání, kdy můžeme implementovat časový rozvrh k měření libovolného úkolu.
S pomocí VBA Counter můžeme také počítat buňky s jejich barevnými indexy. Tento index barev umí také barvu písma nebo barvu pozadí buňky a tučné hodnoty.
Jak vytvořit čítač v Excelu VBA?
Níže jsou uvedeny různé příklady vytvoření čítače v Excelu pomocí kódu VBA.
Tuto VBA Counter Excel šablonu si můžete stáhnout zde - VBA Counter Excel TemplatePočítadlo VBA - Příklad č. 1
Ve sloupci A máme nějaké údaje o náhodných číslech. Všechny uvedené hodnoty jsou náhodné a nemají žádné spojení, například v sekvenci nebo řadě. Nyní pomocí procesu počítadla VBA spočítáme nejvyšší a nejnižší hodnoty hodnot a získáme výstup v buňce D2 a D3.
Počet spočítáme a současně je obarvíme podle barevného textu v buňce C2 a C3.
Postupujte podle následujících kroků:
Krok 1: Vytvořte příkazové tlačítko, které je k dispozici na kartě Vývojář v nabídce Vložit ovládací prvek Active X, jak je ukázáno níže.
Krok 2: Nyní vytvořte tlačítko, jak je ukázáno níže.
Krok 3: Klikněte pravým tlačítkem na vytvořené tlačítko a přejděte na možnost Vlastnosti .
Krok 4: Změňte titulek tlačítka, které je výchozí jako CommandButton2, na libovolné požadované jméno. Zde jsme to změnili na „ Počítání buněk podle hodnoty “.
Krok 5: Po dokončení klepněte pravým tlačítkem myši na vytvořené tlačítko a vyberte možnost Zobrazit kód, čímž se zobrazí okno VBA.
Editor jazyka je nyní otevřen a ve výchozím nastavení je pro příkazové tlačítko již vytvořen podprogram.
Kód:
Private Sub CommandButton2_Click () End Sub
Krok 6: Nyní musíme deklarovat 3 proměnné. Deklarujte první proměnnou, do které uložíme čísla a druhou proměnnou, pomocí které použijeme počítadlo jako celá čísla, jak je ukázáno níže. A třetí proměnná bude tak dlouhá, aby se počítala čísla uložená v každém řádku.
Kód:
Private Sub CommandButton2_Click () Dim A Integer Dim Dim Count Integer Dim LRow As Long End Sub
Krok 7: Nyní vybereme první buňku listu, která je A1 jako náš rozsah. Odtud budeme vybírat buňky, dokud nebude mít čísla.
Kód:
Private Sub CommandButton2_Click () Dim A jako integer Dim Count As Integer Dim LRow As Long LRow = Range ("A1"). CurrentRegion.End (xlDown) .Row End Sub Sub
Krok 8: Nyní otevřeme a zapíšeme podmínku pro smyčku pro, pokud má buňka hodnotu větší než 10, pak se barva písma buňky změní na žlutou a pro hodnotu menší než 10 se barva písma buňky změní na Modrá s barevnými indexy 44, respektive 55 .
Kód:
Private Sub CommandButton2_Click () Dim A jako Integer Dim Počet jako Integer Dim LRow As Long LRow = Range ("A1"). CurrentRegion.End (xlDown) .Row Pro A = 1 To LRow If Cells (A, 1) .Value> 10 Potom počet = počet + 1 buňky (A, 1) .ont.ColorIndex = 44 dalších buněk (A, 1) .ont.ColorIndex = 55 End Pokud Next A End Sub
Krok 9: Nyní, abychom viděli výstup hodnot z buňky A1 do konce, vybereme buňky, jak je diskutováno výše v níže uvedeném kódu.
Kód:
Private Sub CommandButton2_Click () Dim A jako Integer Dim Počet jako Integer Dim LRow As Long LRow = Range ("A1"). CurrentRegion.End (xlDown) .Row Pro A = 1 To LRow If Cells (A, 1) .Value> 10 Potom počet = počet + 1 buňky (A, 1) .Polo.ColorIndex = 44 dalších buněk (A, 1) .Polo.ColorIndex = 55 End If Next buňky A (2, 4). Hodnota = počet buněk (3, 4) .Hodnota = 12 - Count End Sub
Krok 10: Nyní spusťte kód stisknutím tlačítka.
Uvidíme, buňky obsahující čísla menší než 10 jsou zvýrazněny modrou barvou. A ten větší než 10 je zvýrazněn žlutě.
Počítadlo VBA - Příklad č. 2
V tomto příkladu použijeme VBA Counter k měření času, do kterého můžeme změřit dobu, kterou děláme. Předpokládejme, že pokud potřebujeme změřit čas potřebný k dokončení jakéhokoli úkolu, pak je nejlepší implementovat proces, který zde uvidíme.
Postupujte podle následujících kroků:
Krok 1: Vytvořte 2 karty libovolného tvaru z nabídky Vložit Možnosti obrazců, jak je ukázáno níže. Vybíráme obdélník: zaoblené rohy .
Krok 2: Vytvořte 2 tlačítka a pojmenujte je jako Start a Reset, čímž spustíme časovač a vynulujeme čas.
Krok 3: Nyní přejděte na VBA a otevřete modul z nabídky Vložit.
Krok 4: V tom zapište podkategorii Start časovače, jak je ukázáno níže.
Kód:
Sub Start () End Sub
Krok 5: Zvažte slovo pro další řádek, jako je NextRow, kde vybereme list, do kterého chceme implementovat kód. Zde je náš list List2 . A zde spočítáme Řádky z buňky +1, což je buňka A2, dokud nebudeme mít hodnotu kurzoru.
Kód:
Sub Start () NextRow = ThisWorkbook.Sheets ("Sheet2"). Buňky (Rows.Count, 1) .End (xlUp) .Row + 1 End Sub
Krok 6: Nyní se dostaneme do dalšího řádku, použijeme vertexový formát, kde 1 v závorce je pro osu Y.
Kód:
Sub Start () NextRow = ThisWorkbook.Sheets ("Sheet2"). Buňky (Rows.Count, 1) .End (xlUp) .Row + 1 Cells (NextRow, 1) = Time End Sub
Krok 7: Napište kód pro reset pod stejný počáteční kód.
Kód:
Sub Reset () End Sub
Krok 8: Nyní pro reset zachováme stejný kód jako Start, ale klíčové slovo se změní na LastRow a odebereme +1, takže se nemusíme dostat do jiného řádku.
Kód:
Sub Reset () lastrow = ThisWorkbook.Sheets ("Sheet2"). Buňky (Rows.Count, 1) .End (xlUp) .Row End Sub Sub
Krok 9: Nyní pro vymazání dat ve sloupci A poslední buňky k první buňce nejprve vyberte rozsah buněk s funkcí ClearContents .
Kód:
Sub Reset () lastrow = ThisWorkbook.Sheets ("Sheet2"). Buňky (Rows.Count, 1) .End (xlUp) .Row Range ("A2: A" & lastrow) .ClearContents End Sub Sub
Nyní zavřete okno VBA.
Krok 10: Klepněte pravým tlačítkem myši na kartu Start a vyberte možnost Přiřadit makro .
Krok 11: Vyberte podprogram Start, který jsme provedli výše.
Krok 12: Totéž proveďte pro tlačítko Reset. Přiřaďte resetovací subkód tlačítku Reset a klikněte na OK a ukončete návrhový režim pro provedení kódu.
Krok 13: Nyní klikněte nejprve na tlačítko Start . Čas zahájení dostaneme jako 3:51:33.
Krok 14: Nyní znovu klikněte 2-3 krát na tlačítko Start, abyste získali více časových odstupů. Uvidíme, že v každé iteraci je několik sekund.
Krok 15: Nyní budeme testovat tlačítko Reset . Klikněte na Reset. Uvidíme, že data jsou nyní vymazána a připravena na další kolečka počítání času.
Výhody aplikace Excel VBA Counter
- Je velmi snadné implementovat počítadlo časových cyklů, jak jsme viděli v příkladu 2.
- VBA Counter má mnoho typů implementace, není to omezeno pouze na příklady, které jsme viděli.
Co si pamatovat
- Je vždy lepší přiřadit kód k jakémukoli tlačítku, když jsme provedli 2 nebo více typů kódu v jednom procesu.
- Jakmile je přiřazení a spuštění kódu provedeno na kartě Vývojář, ukončete návrhový režim.
- Můžeme také vytvořit čítač živého času, kde můžeme vidět odpočítávání času nebo sledovat skutečný čas.
- Uložte makro do makra, aby bylo možné excelovat formát souboru, abychom neztratili náš kód.
Doporučené články
Toto je průvodce počitadlem VBA. Zde diskutujeme o tom, jak vytvořit VBA Counter v Excelu pomocí kódu VBA spolu s praktickými příklady a stahovatelnou šablonou Excel. Další informace naleznete také v následujícím článku -
- Použití chyby přetečení VBA v Excelu
- Příklady chyby VBA 1004
- Jak používat VBA DoEvents?
- Metody skrytí sloupců ve VBA