Funkce časovače VBA vrací počet sekund, které uplynuly od půlnoci aktuálního dne (vráceno jako jeden datový typ).
Použití funkce časovače VBA
Následující kód vám ukáže, jak pomocí funkce časovače VBA určit, kolik sekund uplynulo od půlnoci v době spuštění kódu:
12345678 | Dílčí použitíTheVBATimerFunction ()Dim sekundy Od chvíle, kdy jste singlesecondsSince = Timer ()Debug.Print secondsSinceEnd Sub |
Výsledek je:
Chcete -li získat skutečný čas, použijte časovač VBA
Sekundy vrácené z funkce časovače můžete převést do formátu hh: mm: ss, abyste viděli skutečný čas pomocí následujícího kódu:
123456789101112131415 | Sub GettingTheActualTime ()Dim sekundy Od chvíle, kdy jste singleDim cTime as DoubleDim theActualTime As VariantsecondsSince = Timer ()cTime = secondsSince / (86400)theActualTime = Format (cTime, "hh: mm: ss")MsgBox "Čas, který uplynul od půlnoci v sekundách, je" & "" & sekund Od té doby & vbNewLine & _"Skutečný čas je:" & "" & theActualTimeEnd Sub |
Výsledek je:
Časujte část kódu VBA
Pokud chcete porovnat přepsaný kód nebo diskutovat o „rychlejších“ metodách ve VBA, můžete použít vestavěný časovač VBA. Nastavením proměnné rovnající se časovači na začátku kódu a jejím odečtením od časovače na konci získáte dobrý odhad o tom, jak dlouho trvá spuštění kódu.
Výkon může být mimo jiné ovlivněn jinými programy, které běží nebo se pokoušejí spustit, když jste aktivní makro.
Následující příklad byl použit ke zjištění, jak dlouho by trvalo napsat slovo „test“ do buňky A1 na List1 půl milionukrát. Na mém stroji to trvalo 21 sekund.
123456789101112131415161718 | Sub BenchMark ()Dim Count As LongDim BenchMark jako dvojitýBenchMark = Časovač„Začátek kódu k testováníPro počet = 1 až 500 000List1.Cells (1, 1) = "test"Další hrabě„Konec kódu k testováníMsgBox Timer - BenchMarkEnd Sub |
Pokud váš kód běží pomalu, zkuste jej zrychlit deaktivací aktualizace obrazovky. Aby byla obrazovka Excelu aktivní, když běží časovač, můžeme do kódu vložit metodu DoEvents.