VBA időzítő funkció

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.

Segít a fejlesztés a helyszínen, megosztva az oldalt a barátaiddal

wave wave wave wave wave