Časovač VBA - Príklady použitia funkcie časovača Excel VBA

Funkcia Excel VBA TIMER

VBA Timer je zabudovaná funkcia, ktorá nám poskytuje zlomkovú hodnotu sekúnd, je to veľmi užitočná funkcia, ktorá sa niekedy používa na pozastavenie ľubovoľnej sady spustených kódov alebo ich opätovné spustenie na základe času poskytnutého používateľom, časovač je jednoducho používa sa ako vyhlásenie vo VBA so vstupom času.

Jednoducho povedané, TIMER udáva celkový počet sekúnd od polnoci aktuálneho dňa. Hneď od prvého riadku kódu môžeme skutočne sledovať čas strávený našim kódom na dokončenie procesu uvedeného v podprocese.

Niekedy, keď napíšete kód a chcete otestovať trvanie kódu, tj aký je celkový čas, ktorý váš kód potrebuje na dokončenie podprocesu. Testovaním skutočného trvania vášho kódu môžete svoj kód zefektívniť a eliminovať časovo náročný proces odstránením nechcených alebo dlhých kódov z modulu.

Ako používať funkciu TIMER vo VBA?

Ako som povedal, funkcia TIMER sa vráti, celkový počet sekúnd uplynul od polnoci aktuálneho dátumu. Pri písaní tohto článku je čas 13:50:45 v Indii.

Vytvoril som názov makra a v schránke správ VBA som priradil hodnotu TIMER.

Kód:

Sub Timer_Example1 () Časovač MsgBox Koniec Sub

Keď spustím tento kód, dostal som výsledok ako 50480,08.

Toto je celkový počet sekúnd, ktoré uplynuli od dnešnej polnoci, tj od 0:00:00.

Od polnoci 12 do aktuálneho času 14:01:20 teda uplynulo celkom 14 hodín 1 minúta a 20 sekúnd. Za pár sekúnd je to 50480,08, čo je dané našou funkciou TIMER.

Príklady

Príklad č. 1 - Vypočítajte celkový čas, ktorý váš kód strávil

Teraz vykonáme jednoduché kódovanie, aby sme otestovali čas, ktorý VBA strávi vykonaním procedúry. Napísal som nejaký kód, ako je znázornené na nasledujúcom obrázku.

Kód:

Sub Do_Until_Example1 () Dim ST As Single ST = Timer Dim x As Long x = 1 Do While x = 100000 Cells (x, 1). Value = xx = x + 1 Loop MsgBox Timer - ST End Sub

Ak teraz spustím tento kód, zobrazí sa mi celkový čas potrebný na vykonanie VBA.

Píše sa tam 3,058594. Výsledok daný touto funkciou je v sekundách, tj. Celkový čas potrebný týmto kódom je 3 588 sekúnd.

Pre použitie tohto kódu som pre vás napísal nasledujúci kód.

Kód:

Sub Timer_Example1 () Dim StartingTime ako jediný StartingTime = Timer 'Sem zadajte váš kód' Sem zadajte váš kód 'Sem zadajte váš kód' Sem zadajte váš kód 'Časovač MsgBox - StartingTime End Sub

Použite vyššie uvedené a zadajte svoj kód po kóde StartingTime = Timer, ale pred kódom MsgBox Timer - StartingTime, tj. Na zelenej ploche, musíte zadať kód.

Vysvetlenie: Po prvé, premenná StartingTime = Timer znamená, že v čase spustenia sa kód rovná času, ktorý uplynul od polnoci do doby chodu kódu.

Časovač - StartingTime: To znamená po spustení kódu, aký je uplynulý čas mínus čas zaznamenaný na začiatku kódu v rámci variabilného počiatočného času .

To dá rozdiel medzi začiatočným a konečným časom a vráti výsledok.

Príklad č. 2 - Zobraziť výsledok v správnom formáte času

Ako sme videli, výsledok daný funkciou je v sekundách, ale nie v presnom formáte. Na konečný výsledok však môžeme použiť formát času VBA pomocou funkcie FORMAT.

Použite nasledujúci kód, aby ste videli výsledok v správnom časovom formáte, tj. „Hh: mm: ss“ formáte.

Použil som tu funkciu FORMAT. Výsledok je daný (Časovač - začiatočný čas). Rozdelil som to na číslo 86400, aby som ho podľa pravidiel formátu času previedol na sekundy, potom som použil formát času v hodinovom, minútovom a druhom formáte.

Teraz, keď spustím kód, bude mať takýto výsledok.

Celkový čas potrebný na kód je teda 3 sekundy.

Krása tohto kódu je v okamihu, keď prekročí 60 sekúnd; výsledok sa zobrazí v priebehu niekoľkých minút. Pozastavil som svoj kód bežiaci na minútu (pomocou Ctrl + Break) a vidím výsledok.

Takže celkový čas potrebný týmto kódom je teraz 1 minúta 2 sekundy.

Príklad č. 3 - Alternatívny kód k časovaču

Existuje alternatíva k časovaču pomocou funkcie NOW () . Nižšie je uvedený alternatívny kód.

Na čo treba pamätať

  • Funkcia TIMER zastaví hodnotu na konci dňa, tj o 23:59:59.
  • Funkcia NOW vráti aktuálny dátum a aktuálny čas.
  • TIMER zobrazuje celkový počet sekúnd uplynulých od polnoci aktuálneho dátumu.

Zaujímavé články...