Temporizator VBA - Exemple de utilizare a funcției Excel VBA Timer

Funcția Excel VBA TIMER

VBA Timer este o funcție încorporată utilizată pentru a ne oferi valoarea fracționată de secunde, este o funcție foarte utilă care este utilizată uneori pentru a întrerupe orice set de coduri care rulează sau a le relua pe baza timpului oferit de utilizator, temporizatorul este pur și simplu folosit ca o afirmație în VBA cu introducerea timpului.

În termeni simpli, TIMER oferă numărul total de secunde trecute de la miezul nopții zilei curente. Chiar de la prima linie a codului, putem urmări de fapt timpul consumat de codul nostru pentru a finaliza procesul specificat în subprocedură.

Uneori, când scrieți un cod și doriți să testați durata codului, adică care este timpul total luat de codul dvs. pentru a finaliza subprocedura. Testând durata efectivă luată de codul dvs., puteți să vă eficientizați codul și să eliminați procesul care necesită mult timp, ștergând codurile nedorite sau lungi din modulul dvs.

Cum se utilizează funcția TIMER în VBA?

După cum am spus, funcția TIMER revine, numărul total de secunde trecute de la miezul nopții datei curente. Când scriu acest articol, ora este 13:50:45 în India.

Am creat un nume de macro și am atribuit valoarea TIMER în caseta de mesaje VBA.

Cod:

Sub Timer_Example1 () MsgBox Timer End Sub

Când rulez acest cod, am obținut rezultatul ca 50480.08.

Acesta este numărul total de secunde care au trecut de la miezul nopții de astăzi, adică de la 12:00:00 AM.

Deci, de la miezul nopții 12 până la ora curentă 14:01:20, au trecut în total 14 ore 1 minut, 20 de secunde. În secunde este egal cu 50480.08, care este dat de funcția noastră TIMER.

Exemple

Exemplul # 1 - Calculați timpul total luat de codul dvs.

Acum vom efectua câteva codificări simple pentru a testa timpul necesar VBA pentru a executa procedura. Am scris un cod, așa cum se arată în imaginea de mai jos.

Cod:

Sub Do_Until_Example1 () Dim ST ST Single ST = Timer Dim x As Long x = 1 Do Until x = 100000 Celule (x, 1). Valoare = xx = x + 1 Buclă MsgBox Timer - ST End Sub

Dacă rulez acest cod acum, îmi va arăta timpul total executat de VBA.

Se spune 3.058594. Rezultatul dat de această funcție este în secunde, adică timpul total al acestui cod este de 3.058 secunde.

Pentru a utiliza codul, am scris codul de mai jos pentru dvs.

Cod:

Sub Timer_Example1 () Dim StartTime As Single StartTime = Timer 'Introduceți codul aici' Introduceți codul aici 'Introduceți codul aici' Introduceți codul aici MsgBox Timer - StartTime End Sub

Utilizați cele de mai sus și introduceți codul după codul StartTime = Timer, dar înainte de codul MsgBox Timer - StartTime, adică într-o zonă verde, trebuie să introduceți codul.

Explicație: În primul rând, variabila StartTime = Timer înseamnă că la momentul rulării codului este egal cu timpul scurs de la miezul nopții până la timpul de rulare a codului.

Timer - StartTime: înseamnă că după rularea codului, care este timpul scurs minus timpul înregistrat la începutul codului în timp variabil de pornire .

This will give the difference between start and end time and return the result.

Example #2 - Show the Result in the Correct Time Format

As we have seen, the result given by the function is in seconds but not in an accurate format. However, we can apply a VBA time format to the end result by using the FORMAT function.

Use the below code to see the result in the correct time format, i.e., “hh: mm: ss” format.

I have used the FORMAT function here. The result is given by (Timer - starting time). I have divided it by the number 86400 to convert it to seconds as per time format rules, then I have applied the time format in an hour, minute, and second format.

Now, if I run the code, it will give the result like this.

So, the total time taken by the code is 3 Seconds.

Frumusețea acestui cod este momentul în care trece 60 de secunde; va arăta rezultatul în câteva minute. Am întrerupt codul meu rulând timp de un minut (folosind Ctrl + Break) și văd rezultatul.

Deci timpul total al acestui cod este acum de 1 minut și 2 secunde.

Exemplul # 3 - Cod alternativ la temporizator

Există o alternativă la TIMER utilizând funcția ACUM () . Mai jos este codul alternativ.

Lucruri de amintit

  • Funcția TIMER va restabili valoarea la sfârșitul zilei, adică la 23:59:59 PM.
  • Funcția ACUM returnează data și ora curente.
  • TIMER arată totalul de secunde trecute de la data curentă la miezul nopții.

Articole interesante...