Časovač VBA | Příklady použití funkce časovače Excel VBA
Funkce Excel VBA TIMER
VBA Timer je vestavěná funkce, která nám dává zlomkovou hodnotu sekund, je to velmi užitečná funkce, která se používá k pozastavení jakékoli sady spuštěných kódů nebo k jejich obnovení na základě času poskytnutého uživatelem, časovač je jednoduše používá se jako prohlášení ve VBA se zadáním času.
Jednoduše TIMER udává celkový počet sekund od půlnoci aktuálního dne. Přímo z řádku jednoho z kódu můžeme skutečně sledovat čas spotřebovaný naším kódem k dokončení procesu uvedeného v dílčím postupu.
Někdy, když píšete kód a chcete otestovat dobu trvání kódu, tj. Jaký je celkový čas, který váš kód potřebuje k dokončení dílčího postupu. Testováním skutečné doby trvání vašeho kódu můžete zefektivnit svůj kód a eliminovat časově náročný proces odstraněním nežádoucích nebo dlouhých kódů z vašeho modulu.
Jak používat funkci TIMER ve VBA?
Jak jsem řekl, funkce TIMER vrací celkový počet sekund minulých od půlnoci aktuálního data. Když píšu tento článek, v Indii je čas 13:50:45.
Vytvořil jsem název makra a přiřadil hodnotu TIMER v okně zprávy VBA.
Kód:
Sub Timer_Example1 () MsgBox Timer End Sub
Když spustím tento kód, dostal jsem výsledek jako 50480.08.
To je celkový počet sekund uplynulých od dnešní půlnoci, tj. Od 12:00:00
Od půlnoci 12 do aktuálního času 14:01:20 tedy uplynulo celkem 14 hodin 1 minuta 20 sekund. V sekundách se to rovná 50480,08, což je dáno naší funkcí TIMER.
Příklady
Tuto šablonu VBA Timer Excel si můžete stáhnout zde - Šablona VBA Timer ExcelPříklad č. 1 - Vypočítejte celkovou dobu potřebnou pro váš kód
Nyní provedeme jednoduché kódování, abychom otestovali čas, který VBA potřebuje k provedení procedury. Napsal jsem nějaký kód, jak je znázorněno na následujícím obrázku.
Kód:
Sub Do_Until_Example1 () Dim ST as Single ST = Timer Dim x As Long x = 1 Do Until x = 100000 Cells (x, 1). Hodnota = xx = x + 1 Loop MsgBox Timer - ST End Sub
Pokud nyní spustím tento kód, zobrazí se mi celkový čas, který VBA potřebuje k provedení.
Říká 3.058594, výsledek daný touto funkcí je v sekundách, tj. Celkový čas zabraný tímto kódem je 3.058 sekund.
Pro použití kódu jsem pro vás napsal následující kód.
Kód:
Sub Timer_Example1 () Dim StartingTime as Single StartingTime = Timer 'Sem zadejte svůj kód' Sem zadejte svůj kód 'Sem zadejte svůj kód' Sem zadejte svůj kód 'Časovač MsgBox - StartingTime Konec Sub
Použijte výše uvedené a zadejte svůj kód po kódu StartingTime = Timer, ale před kódem MsgBox Timer - StartingTime tj. V zelené oblasti musíte zadat svůj kód.
Vysvětlení: Proměnná StartingTime = Timer znamená, že v době spuštění se kód rovná času uplynulému od půlnoci do doby spuštění kódu.
Časovač - StartingTime: To znamená po spuštění kódu, jaký je uplynulý čas mínus čas zaznamenaný na začátku kódu v průběhu proměnného počátečního času .
To dá rozdíl mezi časem zahájení a ukončení a vrátí výsledek.
Příklad č. 2 - Zobrazit výsledek ve správném formátu času
Jak jsme viděli, výsledek daný funkcí je v sekundách, ale ne v přesném formátu. Můžeme však použít časový formát VBA na konečný výsledek pomocí funkce FORMAT.
Pomocí níže uvedeného kódu můžete zobrazit výsledek ve správném formátu času, tj. Ve formátu „hh: mm: ss“.
Zde jsem použil funkci FORMAT. Výsledek je dán (Časovač - počáteční čas). Rozdělil jsem to na číslo 86400, abych jej převedl na sekundy podle pravidel formátu času, poté jsem použil formát času v hodinovém, minutovém a druhém formátu.
Teď, když spustím kód, dá takový výsledek.
Celkový čas, který kód zabere, je tedy 3 sekundy.
Krása tohoto kódu je v okamžiku, kdy překročí 60 sekund, zobrazí výsledek během několika minut. Pozastavil jsem svůj kód spuštěný na minutu (pomocí Ctrl + Break) a podívejte se na výsledek.
Takže celková doba, kterou tento kód potřebuje, je nyní 1 minuta 2 sekundy.
Příklad č. 3 - Alternativní kód k časovači
K funkci TIMER existuje alternativa pomocí funkce NOW () . Níže je uveden alternativní kód.
Věci k zapamatování
- Funkce TIMER zastaví hodnotu na konci dne, tj. V 23:59:59.
- Funkce NOW vrací aktuální datum a aktuální čas.
- TIMER ukazuje celkový počet sekund minulých od aktuálního půlnoci.