A VBA időzítő funkciói visszaadják az aktuális nap éjfél óta eltelt másodpercek számát (egyetlen adattípusként visszaadva).
A VBA időzítő funkció használata
A következő kód bemutatja, hogyan kell használni a VBA időzítő funkciót annak meghatározásához, hogy hány másodperc telt el éjfél óta a kód futtatásának időpontjában:
12345678 | AVBATimerFunction funkció használata ()Halvány másodperceksecondsSince = Időzítő ()Hibakeresés. Nyomtatási másodpercekEnd Sub |
Az eredmény:
Használja a VBA időzítőt a tényleges idő lekéréséhez
Az Időzítő funkcióból visszaadott másodperceket óh: mm: ss formátumba alakíthatja át a tényleges idő megtekintéséhez a következő kód használatával:
123456789101112131415 | Sub GettingTheActualTime ()Halvány másodpercekDim cTime As DoubleA tényleges idő módosítása változatkéntsecondsSince = Időzítő ()cTime = secondsSince / (86400)theActualTime = Formátum (cTime, "óó: mm: ss")MsgBox "Az éjfél óta eltelt idő másodpercben:" & "" & secondsSince & vbNewLine & _"A tényleges idő:" & "" & theActualTimeEnd Sub |
Az eredmény:
Idő a VBA kód egy szakasza
Ha az újraírt kódot szeretné összehasonlítani, vagy „gyorsabb” módszerekről szeretne vitázni a VBA-ban, akkor használhatja a VBA beépített időzítőjét. Ha beállít egy változót, amely megegyezik az időzítővel a kód elején, és kivonja ezt az időzítőből a végén, akkor jó becslés hogy egy kódrészlet mennyi ideig fut.
A teljesítményt befolyásolhatják többek között a futtatott vagy futtatni próbált egyéb programok, miközben a makró aktív.
A következő példát arra használtuk, hogy megnézzük, mennyi ideig tart a „teszt” szó félmillió alkalommal történő felírása az A1 -es cellára. 21 másodpercig tartott a gépemen.
123456789101112131415161718 | Sub BenchMark ()Halvány gróf, mint hosszúDim BenchMark As DoubleBenchMark = Időzítő'A tesztelni kívánt kód kezdeteSzámlálás esetén: 1 és 500000 között1. lap. Cellák (1, 1) = "teszt"Következő gróf'A tesztelés végeMsgBox időzítő - BenchMarkEnd Sub |
Ha a kód lassan fut, próbálja meg felgyorsítani a képernyőfrissítés letiltásával. Ahhoz, hogy az Excel képernyő aktív maradjon az időzítő futása közben, beilleszthetjük a DoEvents metódust a kódba.