VBA таймер - Примери за използване на функцията за таймер на Excel VBA

Съдържание

Функция Excel VBA TIMER

VBA Таймерът е вградена функция, използвана за да ни даде дробната стойност на секундите, това е много полезна функция, която се използва понякога за пауза на който и да е набор от кодове, които се изпълняват или ги възобновява въз основа на времето, предоставено от потребителя, таймерът е просто използва се като израз във VBA с въвеждане на време.

С прости думи, TIMER дава общия брой секунди, изминали от полунощ на текущия ден. Точно от първия ред на кода, ние всъщност можем да проследим времето, изразходвано от нашия код, за да завършим процеса, посочен в подпроцедурата.

Понякога, когато пишете код и искате да тествате продължителността на кода, т.е. какво е общото време, необходимо на вашия код за завършване на подпроцедурата. Чрез тестване на действителната продължителност, взета от вашия код, можете да направите своя код ефективен и да елиминирате отнемащия време процес, като изтриете нежелани или дълги кодове от вашия модул.

Как да използвам функцията TIMER във VBA?

Както казах, функцията TIMER се връща, общите секунди, изминали от полунощ на текущата дата. Когато пиша тази статия, времето е 13:50:45 в Индия.

Създадох име на макрос и зададох стойността на TIMER в полето за съобщения на VBA.

Код:

Sub Timer_Example1 () MsgBox Таймер Край Sub

Когато стартирам този код, получих резултата като 50480.08.

Това са общите секунди, изминали от полунощ днес, т.е. от 00:00:00 ч.

И така, от полунощ на 12 до сегашното време 14:01:20, отминаха общо 14 часа 1 минута, 20 секунди. За секунди е равно на 50480.08, което се дава от нашата функция ТАЙМЕР.

Примери

Пример # 1 - Изчислете общото време, прекарано от вашия код

Сега ще извършим малко просто кодиране, за да тестваме времето, необходимо на VBA за изпълнение на процедурата. Написал съм някакъв код, както е показано на изображението по-долу.

Код:

Sub Do_Until_Example1 () Dim ST As Single ST = Таймер Dim x As Long x = 1 Направете докато x = 100000 клетки (x, 1). Стойност = xx = x + 1 Loop MsgBox Timer - ST End Sub

Ако стартирам този код сега, той ще ми покаже общото време, необходимо на VBA за изпълнение.

Пише 3.058594. Резултатът, даден от тази функция, е в секунди, т.е. общото време, отнето от този код, е 3,058 секунди.

За да използвате кода, аз написах кода по-долу за вас.

Код:

Sub Timer_Example1 () Dim StartingTime като Single StartingTime = Timer 'Въведете кода си тук' Въведете кода си тук 'Въведете кода си тук' Въведете кода си тук MsgBox Timer - StartingTime End Sub

Използвайте горното и въведете кода си след кода StartingTime = Timer, но преди кода MsgBox Timer - StartingTime, т.е. в зелена зона, трябва да въведете кода си.

Обяснение: Първо, променливата StartingTime = Timer означава, че по време на стартиране на кода е равно на времето, изминало от полунощ до времето за изпълнение на кода.

Таймер - StartingTime: Това означава, след като стартирате кода, какво е изминалото време минус времето, записано в началото на кода през променливото начално време .

Това ще даде разлика между началното и крайното време и ще върне резултата.

Пример # 2 - Покажете резултата в правилния формат на времето

Както видяхме, резултатът, даден от функцията, е за секунди, но не в точен формат. Въпреки това можем да приложим формат на времето VBA към крайния резултат, като използваме функцията FORMAT.

Използвайте кода по-долу, за да видите резултата в правилния формат на времето, т.е. във формат „hh: mm: ss“.

Използвал съм функцията FORMAT тук. Резултатът се дава от (Таймер - начален час). Разделих го с числото 86400, за да го преобразувам в секунди според правилата за формат на времето, след което приложих формата на часа в час, минута и втори формат.

Сега, ако пусна кода, той ще даде резултата по този начин.

И така, общото време, необходимо на кода, е 3 секунди.

Красотата на този код е в момента, в който премине 60 секунди; ще покаже резултата след минути. Паузирах кода си за минута (използвайки Ctrl + Break) и вижте резултата.

Така че общото време, отнемано от този код, сега е 1 минута 2 секунди.

Пример # 3 - Алтернативен код на таймера

Има алтернатива на TIMER чрез използване на функцията NOW () . По-долу е алтернативният код.

Неща за запомняне

  • Функцията TIMER ще остави стойността в края на деня, т.е. в 23:59:59 PM.
  • Функцията NOW връща текущата дата и текущия час.
  • TIMER показва общите секунди, изтекли от текущата дата в полунощ.

Интересни статии...