VBA laikmatis - „Excel VBA“ laikmačio funkcijos naudojimo pavyzdžiai

„Excel VBA TIMER“ funkcija

VBA laikmatis yra įmontuota funkcija, naudojama mums pateikti sekundžių trupmeninę vertę, tai yra labai naudinga funkcija, kuri naudojama kartais pristabdyti bet kurį paleistą kodų rinkinį arba atnaujinti juos pagal vartotojo numatytą laiką, laikmatis yra tiesiog naudojamas kaip teiginys VBA su laiko įvestimi.

Paprasčiau tariant, laikmatis nurodo bendrą praeitų sekundžių skaičių nuo dabartinės dienos vidurnakčio. Tiesiai iš vienos kodo eilutės mes galime iš tikrųjų stebėti kodo sugaištą laiką, kad užbaigtume antrinėje procedūroje nurodytą procesą.

Kartais, kai rašote kodą ir norite išbandyti kodo trukmę, ty, kiek laiko jūsų kodas užtrunka užbaigti antrinę procedūrą. Išbandę faktinę jūsų kodo trukmę, galite padaryti savo kodą efektyvų ir pašalinti daug laiko reikalaujantį procesą ištrindami nepageidaujamus ar ilgus kodus iš savo modulio.

Kaip naudoti TIMER funkciją VBA?

Kaip sakiau, grįžta funkcija TIMER, bendras sekundžių skaičius praėjo nuo dabartinės datos vidurnakčio. Kai rašau šį straipsnį, laikas Indijoje yra 13:50:45.

Sukūriau makrokomandos pavadinimą ir priskyriau TIMER reikšmę VBA pranešimų laukelyje.

Kodas:

Antrinis laikmatis_pavyzdys1 () „MsgBox“ laikmačio pabaigos antrinis

Kai paleidžiu šį kodą, rezultatas buvo 50480,08.

Tai yra visas sekundžių laikas, praėjęs nuo šiandienos vidurnakčio, ty nuo 12:00:00.

Taigi nuo vidurnakčio 12 iki dabartinio laiko 14:01:20, iš viso praėjo 14 valandų 1 minutė, 20 sekundžių. Per kelias sekundes ji lygi 50480,08, kurią suteikia mūsų TIMER funkcija.

Pavyzdžiai

1 pavyzdys - apskaičiuokite bendrą kodo sugaištą laiką

Dabar atliksime paprastą kodavimą, kad patikrintume laiką, kurį VBA užtruko procedūrai atlikti. Parašiau tam tikrą kodą, kaip parodyta žemiau esančiame paveikslėlyje.

Kodas:

Sub Do_Until_Example1 () Dim ST kaip vienas ST = Laikmatis Dim x As Long x = 1 Do Iki x = 100000 langelių (x, 1). Vertė = xx = x + 1 ciklo MsgBox laikmatis - ST End Sub

Jei paleisiu šį kodą dabar, jis parodys bendrą laiką, kurį VBA vykdė.

Jame rašoma 3.058594. Šios funkcijos rezultatas pateikiamas sekundėmis, ty bendras šio kodo laikas yra 3,058 sekundės.

Kad galėtumėte naudoti kodą, parašiau jums žemiau pateiktą kodą.

Kodas:

Papildomas laikmatis_pavyzdys1 () „Dim StartingTime“ kaip „Single StartingTime = Timer“ „Įveskite savo kodą čia“ Įveskite savo kodą čia „Įveskite savo kodą čia“ Įveskite savo kodą čia MsgBox Timer - StartingTime End Sub

Naudokite aukščiau pateiktą informaciją ir įveskite kodą po kodu StartingTime = Timer, tačiau prieš kodą MsgBox Timer - StartingTime, ty žalioje srityje, turite įvesti savo kodą.

Paaiškinimas: Pirma, kintamasis „ StartingTime = Timer“ reiškia, kad kodas paleidimo metu yra lygus laikotarpiui, kuris praėjo nuo vidurnakčio iki kodo veikimo laiko.

Laikmatis - StartingTime: Tai reiškia, kad paleidus kodą, koks yra praėjęs laikas atėmus laiką, įrašytą kodo pradžioje per kintamą pradžios laiką .

Tai suteiks skirtumą tarp pradžios ir pabaigos laiko ir grąžins rezultatą.

2 pavyzdys - rodykite rezultatą teisingu laiko formatu

Kaip matėme, funkcijos pateiktas rezultatas pateikiamas sekundėmis, bet ne tiksliu formatu. Tačiau galutiniam rezultatui galime pritaikyti VBA laiko formatą, naudodami FORMAT funkciją.

Norėdami pamatyti rezultatą tinkamu laiko formatu, ty „hh: mm: ss“, naudokite žemiau pateiktą kodą.

Čia naudojau FORMAT funkciją. Rezultatą pateikia (Laikmatis - pradžios laikas). Padalinau jį iš skaičiaus 86400, kad paverčiau sekundėmis pagal laiko formato taisykles, tada laiko formatą pritaikiau valandos, minutės ir antrojo formato formatu.

Dabar, jei paleisiu kodą, jis duos tokį rezultatą.

Taigi bendras kodas užtrunka 3 sekundes.

Šio kodo grožis yra momentas, kai jis perkopia 60 sekundžių; tai parodys rezultatą per kelias minutes. Minutę pristabdžiau savo kodą (naudodama „Ctrl“ + „Break“) ir matau rezultatą.

Taigi bendras šio kodo laikas yra 1 minutė 2 sekundės.

3 pavyzdys - alternatyvus laikmačio kodas

Yra alternatyva TIMER, naudojant funkciją NOW () . Žemiau pateikiamas alternatyvus kodas.

Ką reikia atsiminti

  • Funkcija „TIMER“ nustatys vertę dienos pabaigoje, ty 23:59:59 PM.
  • DABAR funkcija grąžina dabartinę datą ir esamą laiką.
  • TIMER rodo visas praėjusias sekundes nuo dabartinės datos vidurnakčio.

Įdomios straipsniai...