Funkcie časovača VBA vracia počet sekúnd, ktoré uplynuli od polnoci aktuálneho dňa (vrátené ako jeden typ údajov).
Použitie funkcie časovača VBA
Nasledujúci kód vám ukáže, ako pomocou funkcie časovača VBA určiť, koľko sekúnd uplynulo od polnoci v čase spustenia kódu:
12345678 | Vedľajšie použitieTheVBATimerFunction ()Dim sekundy Od chvíle, keď ste singlesecondsSince = Timer ()Ladenie. Vytlačte sekundy OdKoniec pod |
Výsledkom je:
Na získanie skutočného času použite časovač VBA
Sekundy vrátené z funkcie časovača môžete previesť do formátu hh: mm: ss, aby ste videli aktuálny čas pomocou nasledujúceho kódu:
123456789101112131415 | Sub GettingTheActualTime ()Dim sekundy Od chvíle, keď ste singleDim cTime as DoubleDim the ActualTime As VariantsecondsSince = Timer ()cTime = sekundySince / (86400)theActualTime = Format (cTime, "hh: mm: ss")MsgBox "Čas, ktorý uplynul od polnoci v sekundách, je" & "" & sekundy, pretože & vbNewLine & _"Skutočný čas je:" & "" & theActualTimeKoniec pod |
Výsledkom je:
Časujte časť kódu VBA
Ak chcete porovnať prepisovaný kód alebo diskutovať o „rýchlejších“ metódach vo VBA, môžete použiť vstavaný časovač VBA. Nastavením premennej rovnajúcej sa časovaču na začiatku kódu a jeho odpočítaním od časovača na konci získate: dobrý odhad o tom, ako dlho trvá spustenie časti kódu.
Výkon môže byť okrem iného ovplyvnený inými programami, ktoré sú spustené alebo sa pokúšajú spustiť, keď je makro aktívne.
Nasledujúci príklad bol použitý na zistenie, ako dlho trvá napísanie slova „test“ do bunky A1 na hárku 1 pol milióna krát. Na mojom počítači to trvalo 21 sekúnd.
123456789101112131415161718 | Sub BenchMark ()Dim Count Count As LongDim BenchMark ako dvojitýBenchMark = Časovač„Začiatok kódu na testovaniePre počet = 1 až 500 000List 1. Bunky (1, 1) = "test"Ďalší gróf„Koniec kódu na testovanieČasovač MsgBox - BenchMarkKoniec pod |
Ak váš kód beží pomaly, skúste ho urýchliť vypnutím aktualizácie obrazovky. Aby bola obrazovka Excelu aktívna, kým beží časovač, môžeme do kódu vložiť metódu DoEvents.