VBA-timer - Eksempler til brug af Excel VBA Timer-funktion

Indholdsfortegnelse

Excel VBA TIMER-funktion

VBA Timer er en indbygget funktion, der bruges til at give os brøkværdien af ​​sekunder, det er en meget nyttig funktion, der bruges til undertiden at sætte pause i ethvert sæt koder, der kører eller genoptage dem på baggrund af den tid, der er givet af brugeren, timeren er simpelthen bruges som en erklæring i VBA med input af tid.

Enkelt sagt giver TIMER det samlede antal sekunder gået fra midnat på den aktuelle dag. Lige fra linje en i koden kan vi faktisk spore den tid, der bruges af vores kode for at fuldføre den proces, der er specificeret i underproceduren.

Nogle gange når du skriver en kode, og du vil teste varigheden af ​​koden, dvs. hvad er den samlede tid, det tager af din kode at gennemføre underproceduren. Ved at teste den faktiske varighed, som din kode tager, kan du gøre din kode effektiv og eliminere den tidskrævende proces ved at slette uønskede eller lange koder fra dit modul.

Hvordan bruges TIMER-funktionen i VBA?

Som jeg fortalte TIMER-funktionen vender tilbage, er de samlede sekunder gået fra midnat på den aktuelle dato. Når jeg skriver denne artikel, er tiden 13:50:45 i Indien.

Jeg har oprettet et makronavn og tildelt værdien af ​​TIMER i VBA-meddelelsesfeltet.

Kode:

Sub Timer_Example1 () MsgBox Timer End Sub

Da jeg kørte denne kode, fik jeg resultatet som 50480.08.

Dette er de samlede sekunder, der gik forbi fra dagens midnat, dvs. fra 12:00:00.

Så fra midnat 12 til aktuel tid 14:01:20, i alt 14 timer 1 minut, 20 sekunder gået forbi. På få sekunder er det lig med 50480.08, hvilket er givet af vores TIMER-funktion.

Eksempler

Eksempel # 1 - Beregn den samlede tid, der er taget af din kode

Nu udfører vi nogle enkle kodninger for at teste den tid, det tager af VBA at udføre proceduren. Jeg har skrevet en kode som vist på nedenstående billede.

Kode:

Sub Do_Until_Example1 () Dim ST som enkelt ST = Timer Dim x Så længe x = 1 Do indtil x = 100000 celler (x, 1). Værdi = xx = x + 1 Loop MsgBox Timer - ST End Sub

Hvis jeg kører denne kode nu, viser den mig den samlede tid, det tager af VBA at udføre.

Der står 3.058594. Resultatet af denne funktion er i sekunder, dvs. den samlede tid, der tages med denne kode, er 3.058 sekunder.

For at du kan bruge koden, har jeg skrevet nedenstående kode til dig.

Kode:

Sub Timer_Example1 () Dim StartingTime Som Single StartingTime = Timer 'Indtast din kode her' Indtast din kode her 'Indtast din kode her' Indtast din kode her MsgBox Timer - Starttid End Sub

Brug ovenstående og skriv din kode efter koden StartingTime = Timer, men før koden MsgBox Timer - StartingTime, dvs. i et grønt område, skal du indtaste din kode.

Forklaring: For det første betyder variablen StartingTime = Timer , når koden køres, er lig med den forløbne tid fra midnat til kørselstid.

Timer - Starttid: Det betyder efter kørsel af koden, hvad der er forløbet minus tid registreret i begyndelsen af ​​koden gennem variabel starttid .

Dette giver forskellen mellem start- og sluttid og returnerer resultatet.

Eksempel 2 - Vis resultatet i det korrekte tidsformat

Som vi har set, er resultatet givet af funktionen i sekunder, men ikke i et nøjagtigt format. Vi kan dog anvende et VBA-tidsformat til slutresultatet ved hjælp af FORMAT-funktionen.

Brug nedenstående kode til at se resultatet i det korrekte tidsformat, dvs. “hh: mm: ss” -format.

Jeg har brugt FORMAT-funktionen her. Resultatet er givet ved (Timer - starttid). Jeg har delt det med nummeret 86400 for at konvertere det til sekunder i henhold til reglerne for tidsformat, så har jeg anvendt tidsformatet i et time-, minut- og andet format.

Nu, hvis jeg kører koden, vil det give resultatet som dette.

Så den samlede tid, som koden tager, er 3 sekunder.

Skønheden ved denne kode er det øjeblik, den krydser 60 sekunder; det viser resultatet på få minutter. Jeg har sat min kode på pause i et minut (ved hjælp af Ctrl + Break) og ser resultatet.

Så den samlede tid, som denne kode tager, er nu 1 minut og 2 sekunder.

Eksempel # 3 - Alternativ kode til timer

Der er et alternativ til TIMER ved hjælp af funktionen NOW () . Nedenfor er den alternative kode.

Ting at huske

  • TIMER-funktionen vil hvile værdien i slutningen af ​​dagen, dvs. kl. 23:59:59.
  • NU-funktionen returnerer den aktuelle dato og aktuelle tid.
  • TIMER viser de samlede sekunder, der er gået forbi den aktuelle dato midnat.

Interessante artikler...