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

„Excel VBA TIMER“ funkcija

VBA laikmatis yra įmontuota funkcija, naudojama mums pateikti sekundžių dalinę vertę, tai yra labai naudinga funkcija, 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ę kodo trukmę, galite padaryti kodą efektyvesnį ir pašalinti daug laiko reikalaujantį procesą ištrindami nepageidaujamus ar ilgus kodus iš savo modulio.

Kaip naudoti TIMER funkciją VBA?

Kaip sakiau, TIMER funkcija pateikia visas praėjusias sekundes nuo dabartinės datos vidurnakčio. Kai rašau šį straipsnį, Indijoje laikas 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 paleidau šį kodą, rezultatas buvo 50480,08.

Tai yra visas sekundžių laikas 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

Šį „VBA Timer Excel“ šabloną galite atsisiųsti čia - „VBA Timer Excel“ šablonas

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, tai parodys, kiek laiko 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, bet prieš kodą MsgBox Timer - StartingTime, ty žaliojoje srityje, turite įvesti kodą.

Paaiškinimas: Pirmiausia 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 suteiktas 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 funkciją FORMAT. 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ą, tai suteiks tokį rezultatą.

Taigi bendras kodas užtrunka 3 sekundes.

Šio kodo grožis yra momentas, kai jis peržengia 60 sekundžių, rezultatas parodomas 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

  • „TIMER“ funkcija nustos 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.

$config[zx-auto] not found$config[zx-overlay] not found