VBA-timer - Voorbeelden om Excel VBA-timerfunctie te gebruiken

Excel VBA TIMER-functie

VBA Timer is een ingebouwde functie die wordt gebruikt om ons de fractionele waarde van seconden te geven, het is een zeer nuttige functie die soms wordt gebruikt om een ​​reeks lopende codes te pauzeren of te hervatten op basis van de tijd die door de gebruiker is opgegeven, timer is eenvoudig gebruikt als een statement in VBA met de input van tijd.

In eenvoudige bewoordingen geeft de TIMER het totale aantal seconden weer vanaf de middernacht van de huidige dag. Vanaf regel één van de code kunnen we de tijd bijhouden die onze code verbruikt om het proces te voltooien dat is gespecificeerd in de subprocedure.

Soms wanneer u een code schrijft en u de codeduur wilt testen, dwz wat is de totale tijd die uw code nodig heeft om de subprocedure te voltooien. Door de werkelijke duur van uw code te testen, kunt u uw code efficiënt maken en het tijdrovende proces elimineren door ongewenste of lange codes uit uw module te verwijderen.

Hoe gebruik je de TIMER-functie in VBA?

Zoals ik vertelde TIMER-functie keert terug, het totale aantal seconden verstreken vanaf middernacht van de huidige datum. Wanneer ik dit artikel aan het schrijven ben, is de tijd 13:50:45 in India.

Ik heb een macronaam gemaakt en de waarde van TIMER toegewezen in het VBA-berichtvenster.

Code:

Sub Timer_Example1 () MsgBox Timer End Sub

Toen ik deze code uitvoerde, kreeg ik het resultaat als 50480.08.

Dit is het totale aantal seconden dat is verstreken vanaf middernacht van vandaag, dwz vanaf 00:00 uur.

Dus van middernacht 12 tot de huidige tijd 14:01:20, in totaal 14 uur 1 minuut, 20 seconden voorbij. In seconden is het gelijk aan 50480.08, die wordt gegeven door onze TIMER-functie.

Voorbeelden

Voorbeeld # 1 - Bereken de totale tijd die uw code in beslag neemt

Nu zullen we enkele eenvoudige coderingen uitvoeren om de tijd te testen die de VBA nodig heeft om de procedure uit te voeren. Ik heb wat code geschreven, zoals weergegeven in de onderstaande afbeelding.

Code:

Sub Do_Until_Example1 () Dim ST As Single ST = Timer Dim x As Long x = 1 Do Tot x = 100000 Cellen (x, 1). Value = xx = x + 1 Loop MsgBox Timer - ST End Sub

Als ik deze code nu uitvoer, zal het me de totale tijd laten zien die de VBA nodig heeft om uit te voeren.

Er staat 3.058594. Het resultaat dat door deze functie wordt gegeven, is in seconden, dwz de totale tijd die deze code in beslag neemt is 3,058 seconden.

Om u de code te laten gebruiken, heb ik de onderstaande code voor u geschreven.

Code:

Sub Timer_Example1 () Dim StartTime As Single Starttijd = Timer 'Voer hier uw code in' Voer hier uw code in 'Voer hier uw code in' Voer hier uw code in MsgBox Timer - Starttijd Einde Sub

Gebruik het bovenstaande en typ uw code na de code StartingTime = Timer, maar vóór de code MsgBox Timer - StartTime, dwz in een groen gebied, moet u uw code invoeren.

Uitleg: Ten eerste betekent de variabele StartingTime = Timer dat op het moment van uitvoering de code gelijk is aan de tijd die is verstreken van middernacht tot de looptijd van de code.

Timer - Starttijd: Dit betekent na het uitvoeren van de code, wat is de verstreken tijd minus de tijd geregistreerd aan het begin van de code via de variabele starttijd .

Dit geeft het verschil tussen begin- en eindtijd en retourneert het resultaat.

Voorbeeld # 2 - Toon het resultaat in het juiste tijdformaat

Zoals we hebben gezien, is het resultaat van de functie in seconden, maar niet in een nauwkeurig formaat. We kunnen echter een VBA-tijdnotatie toepassen op het eindresultaat met behulp van de FORMAT-functie.

Gebruik de onderstaande code om het resultaat in het juiste tijdformaat te zien, dwz "uu: mm: ss" -formaat.

Ik heb hier de FORMAT-functie gebruikt. Het resultaat wordt gegeven door (Timer - starttijd). Ik heb het gedeeld door het nummer 86400 om het naar seconden te converteren volgens de regels voor tijdnotatie, daarna heb ik het tijdnotatie toegepast in een uur-, minuut- en secondeformaat.

Als ik nu de code uitvoer, zal het het resultaat als volgt geven.

De totale tijd die de code in beslag neemt, is dus 3 seconden.

Het mooie van deze code is het moment dat deze 60 seconden overschrijdt; het zal het resultaat in minuten laten zien. Ik heb mijn code een minuut onderbroken (met Ctrl + Break) en zie het resultaat.

Dus de totale tijd die deze code in beslag neemt, is nu 1 minuut 2 seconden.

Voorbeeld # 3 - Alternatieve code voor timer

Er is een alternatief voor TIMER door de functie NU () te gebruiken. Hieronder staat de alternatieve code.

Dingen om te onthouden

  • De TIMER-functie laat de waarde aan het einde van de dag rusten, dwz om 23:59:59 uur.
  • De functie NU retourneert de huidige datum en de huidige tijd.
  • TIMER toont het totale aantal seconden verstreken vanaf de huidige middernacht.

Interessante artikelen...