VBA-timerfunctie

De VBA-timerfunctie retourneert het aantal seconden dat is verstreken sinds middernacht van de huidige dag (teruggegeven als een enkel gegevenstype).

De VBA-timerfunctie gebruiken

De volgende code laat zien hoe u de VBA-timerfunctie gebruikt om te bepalen hoeveel seconden er zijn verstreken sinds middernacht op het moment dat de code wordt uitgevoerd:

12345678 Sub met behulp vanTheVBATimerFunction()Dim secondenSinds als singlesecondenSinds = Timer()Debug.Print secondenSindsEinde sub

Het resultaat is:

Gebruik VBA Timer om de werkelijke tijd te krijgen

U kunt de seconden die door de Timer-functie worden geretourneerd, converteren naar het uu:mm:ss-formaat om de werkelijke tijd te zien met behulp van de volgende code:

123456789101112131415 Sub GettingTheActualTime()Dim secondenSinds als singleDim cTime als dubbelDim de werkelijke tijd als variantsecondenSinds = Timer()cTijd = seconden sinds / (86400)theActualTime = Format(cTime, "uu:mm:ss")MsgBox "De verstreken tijd sinds middernacht in seconden is" & " " & secondsSince & vbNewLine & _"De werkelijke tijd is:" & " " & de werkelijke tijdEinde sub

Het resultaat is:

Tijd een sectie van VBA-code

Als u herschreven code wilt benchmarken of "snellere" methoden in VBA wilt bespreken, kunt u de ingebouwde timer van VBA gebruiken. Als u een variabele instelt die gelijk is aan de timer aan het begin van uw code en deze aan het einde aftrekt van de timer, krijgt u een goede schatting hoe lang het duurt voordat een stukje code wordt uitgevoerd.

De prestaties kunnen onder andere worden beïnvloed door andere programma's die worden uitgevoerd of proberen uit te voeren terwijl uw macro actief is.

Het volgende voorbeeld werd gebruikt om te zien hoe lang het zou duren om het woord 'test' een half miljoen keer in cel A1 op Blad1 te schrijven. Het duurde 21 seconden op mijn machine.

123456789101112131415161718 Sub BenchMark()Dimtelling zo langDim BenchMark als dubbelBenchMark = Timer'Begin van te testen code'Voor telling = 1 tot 500000Blad1.Cellen (1, 1) = "test"Volgende telling'Einde van code om te testen'MsgBox Timer - BenchMarkEinde sub

Als uw code langzaam werkt, kunt u proberen deze te versnellen door schermupdates uit te schakelen. Om het Excel-scherm actief te houden terwijl de timer loopt, kunnen we de DoEvents-methode in de code invoegen.

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave