Funktsioonid VBA Taimer tagastab sekundite arvu, mis on möödunud jooksva päeva südaööst (tagastatakse ühe andmetüübina).
VBA taimerifunktsiooni kasutamine
Järgmine kood näitab teile, kuidas kasutada VBA taimerifunktsiooni, et määrata, mitu sekundit on koodi käitamise ajal pärast keskööd möödas:
12345678 | AlamfunktsioonVBATimerFunction ()Hämarad sekundid Kuna olete vallalinesecondsSince = Taimer ()Silumine. Prindi sekundid AlatesEnd Sub |
Tulemuseks on:
Kasutage tegeliku aja saamiseks VBA taimerit
Funktsiooni Taimer tagastatud sekundid saate teisendada vormingusse hh: mm: ss, et näha tegelikku aega, kasutades järgmist koodi:
123456789101112131415 | Sub GettingTheActualTime ()Hämarad sekundid Kuna olete vallalineDim cTime nagu DoubleDim theActualTime VariantsecondsSince = Taimer ()cTime = secondsSince / (86400)theActualTime = Vorming (cTime, "hh: mm: ss")MsgBox "Alates südaööst möödunud aeg sekundites on" & "" & sekundit Kuna & vbNewLine & _"Tegelik aeg on:" & "" & theActualTimeEnd Sub |
Tulemuseks on:
Aeg VBA koodeksi jagu
Kui soovite võrrelda uuesti kirjutatud koodi või arutada VBA kiiremate meetodite üle, saate kasutada VBA sisseehitatud taimerit. Kui määrate koodi alguses muutuja taimeriga võrdseks ja lahutate selle taimerist lõpus, saate hea hinnang kui kaua kooditükk käivitub.
Toimivust võivad muu hulgas mõjutada ka muud programmid, mis töötavad või proovivad käivituda, kui teie makro on aktiivne.
Järgmist näidet kasutati selleks, et näha, kui kaua kulub kirja „test” kirjutamiseks lehe 1 lahtrisse pool miljonit korda. Minu masinal kulus 21 sekundit.
123456789101112131415161718 | Sub BenchMark ()Dim Loe nii kauaDim BenchMark As DoubleBenchMark = Taimer'Testitava koodi algusLoendamiseks = 1 kuni 500000Leht 1. Lahtrid (1, 1) = "test"Järgmine krahv'Koodi lõpp testimiseksMsgBoxi taimer - BenchMarkEnd Sub |
Kui teie kood töötab aeglaselt, proovige seda kiirendada, keelates ekraani värskendamise. Et Exceli ekraan oleks aktiivne, kui taimer töötab, saame sisestada koodi DoEvents meetodi.