Функциите VBA Timer връща броя секунди, които са изтекли от полунощ на текущия ден (връща се като единичен тип данни).
Използване на функцията VBA Timer
Следният код ще ви покаже как да използвате функцията VBA Timer, за да определите колко секунди са изминали от полунощ, по време на изпълнението на кода:
12345678 | Под използване на VBATimerFunction ()Затъмнени секунди Тъй като като единиченsecondsSince = Таймер ()Отстраняване на грешки Печат секунди ОттогаваEnd Sub |
Резултатът е:
Използвайте VBA Timer, за да получите актуалното време
Можете да конвертирате секундите, върнати от функцията Таймер, във формат hh: mm: ss, за да видите действителното време, като използвате следния код:
123456789101112131415 | Sub GettingTheActualTime ()Затъмнени секунди Тъй като като единиченDim cTime As DoubleЗатъмнете ActualTime като вариантsecondsSince = Таймер ()cTime = секунди От / (86400)theActualTime = Формат (cTime, "hh: mm: ss")MsgBox "Времето, изминало от полунощ в секунди, е" & "" & секунди От & vbNewLine & _"Действителното време е:" & "" & theActualTimeEnd Sub |
Резултатът е:
Време за раздел на VBA кода
Ако искате да сравните пренаписания код или да дебатирате „по-бързи“ методи във VBA, можете да използвате вградения таймер на VBA. Задаването на променлива, равна на таймера в началото на кода и изваждането на това от таймера в края, ще ви даде добра оценка колко време отнема да се изпълни парче код.
Производителността може да бъде повлияна от други програми, които се изпълняват или се опитват да се изпълняват, докато макросът е активен, наред с други неща.
Следният пример беше използван, за да види колко време ще отнеме да напише думата „тест“ в клетка A1 на Sheet1 половин милион пъти. На машината ми отне 21 секунди.
123456789101112131415161718 | Sub BenchMark ()Dim Count As LongDim BenchMark As DoubleBenchMark = Таймер„Начало на тествания кодЗа брой = 1 до 500000Sheet1.Cells (1, 1) = "тест"Следващ брой„Край на кода за тестванеMsgBox Таймер - BenchMarkEnd Sub |
Ако кодът ви работи бавно, опитайте да го ускорите, като деактивирате актуализирането на екрана. За да поддържаме екрана на Excel активен, докато таймерът работи, можем да вмъкнем метода DoEvents в кода.