Funcțiile VBA Timer returnează numărul de secunde care au trecut de la miezul nopții zilei curente (returnat ca tip de date unic).
Utilizarea funcției VBA Timer
Următorul cod vă va arăta cum să utilizați funcția VBA Timer pentru a determina câte secunde au trecut, de la miezul nopții, în momentul în care codul este rulat:
12345678 | Sub Utilizarea TheVBATimerFunction ()Dim secunde De când este singursecondsSince = Timer ()Debug.Print secunde De laSfârșitul Sub |
Rezultatul este:
Folosiți VBA Timer pentru a obține ora reală
Puteți converti secundele returnate din funcția Timer în format hh: mm: ss pentru a vedea ora efectivă utilizând următorul cod:
123456789101112131415 | Sub GettingTheActualTime ()Dim secunde De când este singurDim cTime ca dubluReduceți timpul activ ca variantăsecondsSince = Timer ()cTime = secondSince / (86400)theActualTime = Format (cTime, "hh: mm: ss")MsgBox "Timpul scurs de la miezul nopții în secunde este" & "" & secundeDe când & vbNewLine & _"Ora reală este:" & "" & theActualTimeSfârșitul Sub |
Rezultatul este:
Durează o secțiune din codul VBA
Dacă doriți să evaluați codul re-scris sau să dezbateți metodele „mai rapide” în VBA, puteți utiliza temporizatorul încorporat al VBA. Setarea unei variabile egale cu temporizatorul la începutul codului și scăderea acestuia din temporizator la sfârșit vă va oferi o estimare bună de cât durează o bucată de cod să ruleze.
Performanța poate fi afectată de alte programe care rulează sau încearcă să ruleze în timp ce macro-ul este activ, printre altele.
Următorul exemplu a fost folosit pentru a vedea cât timp ar dura scrierea cuvântului „test” în celula A1 de pe Sheet1 o jumătate de milion de ori. A durat 21 de secunde pe mașina mea.
123456789101112131415161718 | Sub BenchMark ()Dim Count As LongDim BenchMark ca dubluBenchMark = Timer„Începutul codului de testatPentru număr = 1 până la 500000Sheet1.Cells (1, 1) = "test"Următorul număr„Sfârșitul codului de testatMsgBox Timer - BenchMarkSfârșitul Sub |
Dacă codul dvs. rulează lent, încercați să-l accelerați dezactivând actualizarea ecranului. Pentru a menține ecranul Excel activ în timp ce rulează temporizatorul, putem introduce metoda DoEvents în cod.