VBA időzítő - Példák az Excel VBA időzítő funkció használatára

Tartalomjegyzék

Excel VBA TIMER funkció

A VBA Timer egy beépített függvény, amelyet a másodpercek töredékértékének megadására használnak, ez egy nagyon hasznos funkció, amelyet néha szüneteltetnek bármelyik futó kódkészleten, vagy folytathatja őket a felhasználó által biztosított idő alapján, az időzítő egyszerűen állításként használják a VBA-ban az idő bevitelével.

Egyszerűbben kifejezve: az IDŐZÍTŐ az aktuális éjféltől eltelt másodpercek teljes számát adja meg. A kód egyik sorától kezdve nyomon követhetjük a kódunk által elfogyasztott időt az alfolyamatban meghatározott folyamat befejezéséhez.

Néha, amikor kódot írsz, és tesztelni akarod a kód időtartamát, azaz mennyi időt vesz igénybe a kódod az alfolyamat befejezéséhez. A kód által elfoglalt tényleges időtartam tesztelésével hatékonyabbá teheti a kódját, és kiküszöböli az időigényes folyamatot a nem kívánt vagy hosszú kódok törlésével a modulból.

Hogyan kell használni a TIMER funkciót a VBA-ban?

Ahogy mondtam, a TIMER függvény visszatér, az aktuális dátum éjfélétől eltelt összes másodperc. Amikor ezt a cikket írom, Indiában 13:50:45 az idő.

Létrehoztam egy makrónevet, és hozzárendeltem a TIMER értékét a VBA üzenetmezőbe.

Kód:

Sub Timer_Példa1 () MsgBox Timer End Sub

Amikor futtatom ezt a kódot, az eredmény 50480,08.

Ez az összes másodperc, amely elmúlt a mai éjféltől, azaz 12:00:00 órától.

Tehát éjféltől 12-ig a jelenlegi időig 14:01:20, összesen 14 óra 1 perc, 20 másodperc múlt el. Másodpercek alatt megegyezik az 50480,08 értékkel, amelyet a TIMER funkciónk ad meg.

Példák

1. példa - Számítsa ki a kód által elért teljes időt

Most néhány egyszerű kódolást hajtunk végre, hogy teszteljük a VBA által az eljárás végrehajtásához szükséges időt. Írtam néhány kódot, amint az az alábbi képen látható.

Kód:

Sub Do_Until_Example1 () Dim ST As Single ST = Időzítő Dim x As Long x = 1 Do Addig x = 100000 Cell (x, 1). Érték = xx = x + 1 hurok MsgBox Timer - ST End Sub

Ha most futtatom ezt a kódot, akkor az megmutatja a VBA teljes végrehajtásához szükséges teljes időt.

3.058594. A függvény által adott eredmény másodpercben értendő, azaz a kód által elért teljes idő 3,058 másodperc.

Ahhoz, hogy használhasd a kódot, az alábbi kódot írtam neked.

Kód:

Sub Timer_Példa1 () Dim StartingTime Single StartingTime = Timer 'Írja be ide a kódját' Írja be ide a kódját 'Írja be ide a kódját' Írja be ide a kódot MsgBox Timer - StartingTime End Sub

Használja a fentieket, és írja be a kódot a StartingTime = Timer kód után , de az MsgBox Timer - StartingTime kód előtt , azaz zöld területen meg kell adnia a kódot.

Magyarázat: Először is, a StartingTime = Timer változó azt jelenti, hogy a kód futtatásakor megegyezik az éjféltől a kód futási idejével eltelt idővel.

Időzítő - StartingTime: Ez azt jelenti, hogy a kód futtatása után mennyi az eltelt idő mínusz a kód elején rögzített idő változó kezdési idővel .

Ez megadja a különbséget a kezdési és a befejezési idő között, és visszaadja az eredményt.

2. példa - Az eredmény megjelenítése a helyes időformátumban

Amint láttuk, a függvény által adott eredmény másodpercben van, de nem pontos formátumban. Alkalmazhatunk azonban VBA időformátumot a végeredményre a FORMAT funkció használatával.

Az alábbi kód segítségével megnézheti az eredményt a megfelelő időformátumban, azaz „óó: mm: ss” formátumban.

Itt használtam a FORMAT funkciót. Az eredményt az (Időzítő - kezdési idő) adja meg. Megosztottam a 86400 számmal, hogy másodpercekké alakítsam az időformátum szabályai szerint, majd egy óra, perc és második formátumban alkalmaztam az időformátumot.

Most, ha futtatom a kódot, az ilyen eredményt ad.

Tehát a kód által elvárt teljes idő 3 másodperc.

Ennek a kódnak a szépsége az a pillanat, amikor átlépi a 60 másodpercet; percek alatt megmutatja az eredményt. Egy percig szüneteltetem a kódfuttatást (a Ctrl + Break használatával), és megnézem az eredményt.

Tehát a kód által elvárt teljes idő most 1 perc 2 másodperc.

3. példa - Az időzítő alternatív kódja

Van egy alternatíva a TIMER-re a NOW () függvény használatával. Az alábbiakban látható az alternatív kód.

Dolgok, amikre emlékezni kell

  • A TIMER funkció a nap végén, azaz 23:59:59 órakor nyugtatja az értéket.
  • A NOW függvény visszaadja az aktuális dátumot és időpontot.
  • A TIMER mutatja az összes eltelt másodpercet az aktuális dátumtól.

érdekes cikkek...