Funkcije časovnika VBA vrnejo število sekund, ki so pretekle od polnoči trenutnega dne (vrnjene kot enotni podatkovni tip).
Uporaba funkcije časovnika VBA
Naslednja koda vam bo pokazala, kako s funkcijo časovnika VBA določite, koliko sekund je minilo od polnoči v času izvajanja kode:
12345678 | Sub UporabaVBATimerFunction ()Zatemni sekunde Odkar je samskisecondsSince = Timer ()Odpravljanje napak. Natisni sekunde OdkarEnd Sub |
Rezultat je:
Za merjenje dejanskega časa uporabite časovnik VBA
Sekunde, vrnjene iz funkcije Timer, lahko pretvorite v format hh: mm: ss, da si ogledate dejanski čas z naslednjo kodo:
123456789101112131415 | Sub GettingTheActualTime ()Zatemni sekunde Odkar je samskiZatemni cTime kot dvojnoZatemnite dejanski čas kot variantosecondsSince = Timer ()cTime = secondsSince / (86400)theActualTime = Format (cTime, "hh: mm: ss")MsgBox "Čas od polnoči v sekundah je" & "" & secondsSince & vbNewLine & _"Dejanski čas je:" & "" & theActualTimeEnd Sub |
Rezultat je:
Čas odsek kode VBA
Če želite primerjati ponovno napisano kodo ali razpravljati o "hitrejših" metodah v VBA, lahko uporabite vgrajen časomer VBA. Če na začetku kode nastavite spremenljivko, ki je enaka časovniku, in jo odštejete od časovnika na koncu, boste dobili dobra ocena koliko časa traja koda za izvajanje.
Na delovanje lahko med drugim vplivajo drugi programi, ki se izvajajo ali poskušajo zagnati, medtem ko je vaš makro aktiven.
Z naslednjim primerom smo ugotovili, koliko časa bo trajalo, da besedo "test" v celico A1 na Sheet1 napišem pol milijona krat. Na mojem stroju je trajalo 21 sekund.
123456789101112131415161718 | Sub BenchMark ()Dim Count As LongDim BenchMark As DoubleBenchMark = Časovnik'Začetek preskušanja kodeZa štetje = 1 do 500000List1.Cells (1, 1) = "test"Naslednje štetje'Konec preskusne kodeMsgBox Timer - BenchMarkEnd Sub |
Če se vaša koda izvaja počasi, jo poskusite pospešiti tako, da onemogočite posodabljanje zaslona. Če želite, da je zaslon Excel aktiven, medtem ko časovnik deluje, lahko v kodo vstavimo metodo DoEvents.