VBA -ajastintoiminnot palauttavat kuluvan päivän keskiyöstä kuluneiden sekuntien määrän (palautetaan yksittäisenä tietotyypinä).
VBA -ajastintoiminnon käyttäminen
Seuraava koodi näyttää, kuinka VBA -ajastintoiminnon avulla voit määrittää, kuinka monta sekuntia on kulunut keskiyöstä koodin suoritushetkellä:
12345678 | OsaVBATimerFunction -toiminnon käyttäminen ()Hämärät sekunnitsecondsSince = Ajastin ()Virheenkorjaus. Tulosta sekuntiaEnd Sub |
Tulos on:
Käytä todellista aikaa VBA -ajastimella
Voit muuntaa ajastintoiminnosta palautetut sekunnit hh: mm: ss -muotoon nähdäksesi todellisen ajan käyttämällä seuraavaa koodia:
123456789101112131415 | Sub GettingTheActualTime ()Hämärät sekunnitDim cTime DoubleDim theActualTime As VariantsecondsSince = Ajastin ()cTime = secondsSince / (86400)theActualTime = Muoto (cTime, "hh: mm: ss")MsgBox "Keskiyöstä kulunut aika sekunneissa on" & "" & secondsSince & vbNewLine & _"Todellinen aika on:" & "" & theActualTimeEnd Sub |
Tulos on:
Aika VBA -koodin osa
Jos haluat vertailla uudelleen kirjoitettua koodia tai keskustella nopeammista menetelmistä VBA: ssa, voit käyttää VBA: n sisäänrakennettua ajastinta. Kun asetat muuttujan, joka on sama kuin ajastin koodin alussa ja vähennät sen ajastimesta lopussa, saat hyvä arvio kuinka kauan koodin palaaminen kestää.
Suorituskykyyn voivat vaikuttaa muun muassa muut ohjelmat, jotka ovat käynnissä tai yrittävät suorittaa makron ollessa aktiivinen.
Seuraavaa esimerkkiä käytettiin sen selvittämiseen, kuinka kauan kestää kirjoittaa sana "testi" arkin 1 soluun A1 puoli miljoonaa kertaa. Kesti koneessani 21 sekuntia.
123456789101112131415161718 | AlipenkkiMark ()Dim Laske niin kauanDim BenchMark As DoubleBenchMark = Ajastin'Testattavan koodin alkuLaskenta = 1 - 500000Taulukko1.Solut (1, 1) = "testi"Seuraava kreivi'Testattavan koodin loppuMsgBox -ajastin - BenchMarkEnd Sub |
Jos koodisi toimii hitaasti, yritä nopeuttaa sitä poistamalla näytön päivitys käytöstä. Jos haluat pitää Excel -näytön aktiivisena ajastimen ollessa käynnissä, voimme lisätä DoEvents -menetelmän koodiin.