VBA -timerfunktion

VBA -timerfunktionerna returnerar antalet sekunder som har förflutit sedan midnatt den aktuella dagen (returneras som en enda datatyp).

Använda VBA -timerfunktionen

Följande kod visar hur du använder VBA -timerfunktionen för att avgöra hur många sekunder som har gått sedan midnatt, när koden körs:

12345678 Sub UsingTheVBATimerFunction ()Dim secondsSince As SinglesecondsSince = Timer ()Felsök. Skriv ut sekunder sedanAvsluta Sub

Resultatet är:

Använd VBA -timer för att få Faktisk tid

Du kan konvertera de sekunder som returneras från timerfunktionen till hh: mm: ss -format för att se den verkliga tiden med hjälp av följande kod:

123456789101112131415 Sub GettingTheActualTime ()Dim secondsSince As SingleDim cTime As DoubleDim theActualTime som variantsecondsSince = Timer ()cTime = secondsSince / (86400)theActualTime = Format (cTime, "hh: mm: ss")MsgBox "Tiden som har gått sedan midnatt i sekunder är" & "" & sekunderSedan & vbNewLine & _"Den faktiska tiden är:" & "" & theActualTimeAvsluta Sub

Resultatet är:

Ta ett avsnitt i VBA -koden

Om du vill benchmarka omskriven kod eller debattera "snabbare" metoder i VBA kan du använda VBA: s inbyggda timer. Att ställa in en variabel som är lika med timern i början av din kod och subtrahera denna från timern i slutet ger dig en bra uppskattning hur lång tid en kod tar att köra.

Prestanda kan påverkas av att andra program körs eller försöker köra medan ditt makro är aktivt, bland annat.

Följande exempel användes för att se hur lång tid det skulle ta att skriva ordet "test" till cell A1 på Sheet1 en halv miljon gånger. Det tog 21 sekunder på min maskin.

123456789101112131415161718 Sub BenchMark ()Dim Count Så längeDim BenchMark As DoubleBenchMark = Timer'Start av kod att testaFör räkning = 1 till 500000Sheet1.Cells (1, 1) = "test"Nästa räkning'Kodens slut att testaMsgBox Timer - BenchMarkAvsluta Sub

Om koden körs långsamt kan du försöka påskynda den genom att inaktivera skärmuppdatering. För att hålla Excel -skärmen aktiv medan timern är igång kan vi infoga DoEvents -metoden i koden.

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave