Excel VBA TIMER - Hoe de VBA TIMER-functie te gebruiken?

Inhoudsopgave:

Anonim

VBA-TIMER

Excel VBA TImer wordt gebruikt voor het detecteren en berekenen van de tijd die is verstreken voor het voltooien van een activiteit. In Excel VBA kan de TIMER-functie op vele manieren worden gebruikt. We kunnen de tijd berekenen om een ​​activiteit te voltooien, we kunnen de tijd berekenen die nodig is om de start- tot eindfase van een activiteit te bereiken of we kunnen ook de tijd berekenen die nodig is om op een functie te klikken.

Deze functie kan niet worden uitgevoerd in Excel. In Excel kunnen we alleen de tijd zien en aan elke cel toevoegen, maar we kunnen deze niet als Timer meten.

U kunt deze VBA TIMER Excel-sjabloon hier downloaden - VBA TIMER Excel-sjabloon

Voorbeeld 1

In dit voorbeeld zullen we, hoe de tijd te tellen of te meten om de voltooide code uit te voeren. Ga hiervoor naar het menu van VBA invoegen en selecteer een module zoals hieronder weergegeven.

Zodra we dat doen, wordt er een nieuwe module geopend zoals hieronder wordt weergegeven. Schrijf daar nu de Subcategorie met de huidige functienaam of een andere naam volgens uw keuze.

Code:

 Sub Timer1 () Einde Sub 

Definieer nu twee dimensies als Seconden1 en Seconden2 als een ENKELE functie, wat betekent dat er twee individuele gegevens met één nummer waren (zonder decimaal).

Code:

 Sub Timer1 () Dim Seconden1 As Single Dim Seconds2 As Single End Sub 

Selecteer nu om de timer te starten eerst de gedefinieerde dimensie Seconden1 en wijs de functie TIMER toe . En doe hetzelfde voor andere dimensie Seconden2 zoals hieronder getoond. Het doel is om het begin en einde van de tijd te meten.

Code:

 Sub Timer1 () Dim Seconden1 As Single Dim Seconds2 As Single Seconds1 = Timer () Seconds2 = Timer () End Sub 

Hiermee is het timergedeelte van de code voltooid. Nu moeten we het tijdsverloop zien bij het uitvoeren van de code. Hiervoor moeten we de uitvoer in het berichtvenster afdrukken, zoals hieronder wordt weergegeven.

In de onderstaande schermafbeelding hebben we de tekst "Time taken:" en het verschil tussen Seconden2 en Seconden1 met seconden afgedrukt.

Code:

 Sub Timer1 () Dim Seconden1 As Single Dim Seconds2 As Single Seconds1 = Timer () Seconds2 = Timer () MsgBox ("Time taken:" & vbNewLine & Seconds2 - Seconds1 & "seconds") End Sub 

Als u klaar bent, voert u de volledige code uit met behulp van de F5-toets of klikt u op de afspeelknop zoals hieronder wordt weergegeven.

We zullen een berichtvenster zien met een getelde tijd van 0 seconden omdat de tijd die nodig was om de volledige code uit te voeren 0 was.

We zien misschien iets meer verschil als de geschreven code enorm is.

Voorbeeld 2

Er is een andere methode waarbij we een wachttijd van een klein bedrag als wachttijd kunnen kiezen en de gebruiker of operator kunnen laten wachten tot het proces is voltooid. Dit kan worden gebruikt wanneer we een tool of macro maken met een enorme regel codestructuur. Door dit te doen, laten we de gebruiker wachten totdat de hele code wordt uitgevoerd en de bewerking is voltooid. Omdat iets doen terwijl de code wordt uitgevoerd, het bestand kan crashen.

Open hiervoor een nieuwe module en schrijf de Subcategorie in de naam van de gewenste functie of een andere naam zoals hieronder getoond.

Code:

 Sub Timer2 () Einde Sub 

Om deze code klein en eenvoudig te maken, gebruiken we de ingebouwde functies van VBA. En voor dit type toepassing volgde een punt (.) En vervolgens uit de lijst zoeken en selecteer wachtfunctie zoals hieronder getoond.

Met deze wachtfunctie kunnen we wachttijd toevoegen totdat de volledige code kan worden uitgevoerd. Deze wachttijd is Boolean. Overweeg daarna dat de tijd dat we rennen 0 seconden is met plus tijd die we willen weergeven als wachttijd wordt getoond door TimeValue zoals hieronder getoond.

Code:

 Sub Timer2 () Application.Wait Now + TimeValue ("00:00:10") Sub beëindigen 

Hier beschouwen we 10 seconden als wachttijd om de coderun te voltooien.

Om de wachttijd af te drukken, moeten we het bericht in het berichtvenster afdrukken met behulp van de opdracht MsgBox, zoals hieronder weergegeven.

Code:

 Sub Timer2 () Toepassing Wacht nu + TimeValue ("00:00:10") MsgBox ("Wachttijd - 10 seconden") Einde Sub 

Zoals we kunnen zien, wordt in het berichtvak de tekst toegevoegd van " Wachttijd - 10 seconden " die moet worden afgedrukt.

Voer nu de code uit met de F5-toets of handmatig. We zullen zien nadat we 10 seconden hebben gewacht, een berichtvenster verschijnt met het bericht dat in de code is gebruikt.

Voorbeeld # 3 - VBA-timer

Er is nog een eenvoudige manier om de huidige tijd in VBA te bekijken en te tonen. Hiervoor zullen we MsgBox en de rest van de code alleen daar gebruiken. Open hiervoor een nieuwe module in VBA en schrijf Subcategorie in de naam van de gebruikte functie of een andere naam zoals hieronder getoond.

Code:

 Sub Timer3 () Einde Sub 

Schrijf nu MsgBox, een opdracht om het bericht af te drukken. In de haak kunnen we elk bericht schrijven dat in het berichtenvak moet worden afgedrukt. Hier hebben we " Tijd is: " gekozen als onze tekst en daarbij " & Nu () ". In het pop-upvenster wordt de huidige tijd met datum weergegeven.

Code:

 Sub Timer3 () MsgBox ("Time is:" & Now ()) Sub beëindigen 

Nu in een ander berichtenvak, tellen we het aantal seconden dat de hele dag is verstreken tot de huidige tijd door de klok. Schrijf hiervoor MsgBox en schrijf tussen de haakjes de tekst " Timer is: " samen met " & Timer () " zoals hieronder weergegeven.

Code:

 Sub Timer3 () MsgBox ("Time is:" & Now ()) MsgBox ("Timer is:" & Timer ()) End Sub 

Als u klaar bent, voert u de code uit met de F5-toets of handmatig. We krijgen twee afzonderlijke berichtvakken zoals hieronder weergegeven.

In het eerste berichtvak krijgen we de huidige datum en tijd in DD / MM / JJJJ en uu: mm: ss AM / PM-indeling, de standaardindeling Excel. In het tweede berichtenvak zien we de tijd die op die dag is verstreken in seconden.

Het tweede berichtvenster toont Timer is 59953.62 Seconden. Als we dat met 60 seconden en 60 minuten delen, krijgen we de exacte timer in uren die op die dag zijn verstreken, namelijk 16.65 uur .

Dingen om te onthouden over VBA TIMER

  • Sla het bestand altijd op in Marco Enabled Workbook om verlies van geschreven VBA-code te voorkomen.
  • Compileer altijd de volledige code stap voor stap om te controleren of elke code onjuist is.
  • In voorbeeld # 1 wordt de functie ENKEL gebruikt om het nummer als geheel weer te geven. Zelfs als we DOUBLE gebruiken, geeft dit het resultaat in decimalen.

Aanbevolen artikelen

Dit is een handleiding voor Excel VBA TIMER geweest. Hier hebben we besproken hoe de VBA TIMER-functie te gebruiken, samen met enkele praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen–

  1. Hoe VBA On Error Statement te gebruiken?
  2. Getalnotatie in VBA
  3. Hoe de VBA-zoekfunctie te gebruiken?
  4. Tutorials over VBA TRIM-functie