VBA laukimo funkcija - Kaip naudoti „Excel VBA“ laukimo metodą?

„Excel VBA“ laukimo funkcija

„VBA Wait“ yra įmontuota funkcija, naudojama pristabdyti kodo vykdymą nurodytam laikui, ji yra labai panaši į tai, ką darome miego komandoje, ir pristabdyti kodą, kurį naudojame application.wait.

Kai kurie kodai reikalauja kažkada prieš pereinant prie kitos kodo eilutės dėl kitų užduočių atlikimo. Tokiais atvejais turime sustabdyti kodo vykdymą ir kurį laiką pristabdyti, tada tęsti vykdymą. Mes galime sustabdyti vykdymo kodą dviem būdais: pirmasis yra „Miego“ metodas, o antrasis - „Palaukite“. Ankstesniame straipsnyje aptarėme „VBA Sleep“ metodą, kad pristabdytume VBA kodą.

„Palauk“, kaip sako pats pavadinimas, jis laikys makrokodą, kurį reikia vykdyti, iki nurodyto laiko. Naudodami šį metodą turime nurodyti laiką, kurį mūsų kodas turėtų pristabdyti. Toliau pamatysime pavyzdžius.

Funkcijos WAIT sintaksė yra tokia.

Turime paminėti, kiek laiko mūsų kodas turėtų pristabdyti. Kaip matote galų gale, sakoma „Boolean“. Tai reiškia, kad jis grąžina rezultatą kaip logines reikšmes, ty TRUE arba FALSE.

Kol atėjo nurodytas laikas, jis sako „FALSE“, o nurodytą laiką atiduodant, jis pateikia „TRUE“.

Tai skiriasi nuo SLEEP funkcijos, nes WAIT yra įmontuota funkcija, kai SLEEP yra „Windows“ funkcija. Prieš prisijungdami prie funkcijos SLEEP, modulio viršuje turime paminėti žemiau esantį kodą. Bet WAIT to nereikalauja.

Kodas:

#Jei VBA7 tada viešai paskelbti „PtrSafe Sub Sleep Lib“ „branduolys32“ (ByVal dwMilliseconds As LongPtr) “64 bitų sistemoms

„Excel VBA Wait Function“ naudojimo pavyzdžiai

1 pavyzdys

Tarkime, kad dirbate „Excel“ dienos viduryje 14:30:00 ir norite, kad kodas būtų pristabdytas, kol laikas taps 14:40:00. Galite naudoti žemiau pateiktą kodą.

Kodas:

Sub Wait_Example1 () Programa. Palaukite „14:40:00“ pabaigos Sub

Kodas sustabdys jūsų „Excel“ veikimą, kol laikas jūsų operacinėje sistemoje nepasieks 14:40:00. Numatyti tokį laiką yra pavojinga, nes ne visada dirbame nuo 14:30:00. Tai nuolat kinta.

Tarkime, kai tik paleidžiate kodą. Norite palaukti 2 minutes, kaip tai nurodote savo kode?

Taigi, norėdami įvesti nurodytą laiką nuo dabartinio laiko, galime naudoti funkciją VBA DABAR su TIME VALUE funkcija.

Norint priminti, funkcija DABAR () grąžina esamą datą ir laiką pagal jūsų kompiuterio sistemą. TIMEVALUE funkcija parodo laiką nuo 00:00:00 iki 23:59:59, ty 23:59:59 PM, 24 valandų formatu. Jis konvertuoja eilutės vertę į laiko vertę.

Pavyzdžiui, DABAR () + TIMEVALUE (00:02:30) reiškia Dabartinis laikas + 2 min 30 sek.

Jei dabartinis laikas yra 14:25:30, tada jis tampa 14:28:00.

Norėdami sustabdyti arba sustabdyti kodo vykdymą nuo dabartinio laiko iki kitų 10 minučių, galite naudoti žemiau pateiktą kodą.

Kodas:

Palaukite_pavyzdys2 () Programa. Palaukite (Dabar () + TimeValue ("00:10:00")) Pabaiga Sub

Norint tiksliai pristabdyti, svarbu naudoti funkciją DABAR (). Priešingu atveju yra tikimybė, kad jūsų „Excel“ darbaknygė pristabdyta iki vidurnakčio. Tačiau mes galime išeiti iš pauzės metodo bet kuriuo metu paspausdami Esc arba Break mygtuką.

2 pavyzdys

Palaukite 10 sekundžių kiekvieną kartą, kai veikia ciklas

Laukimo būdas yra gerai naudojamas su kilpomis. Yra situacijų, kai gali tekti palaukti 10 sekundžių kiekvieną kartą, kai paleidžiama kilpa. Pavyzdžiui, pažiūrėkite į toliau pateiktus duomenis.

Norėdami apskaičiuoti pelną = (pardavimai - kaina), norite sukurti kilpą, o po kiekvienos ciklo norite palaukti 10 sekundžių, kad patikrintumėte, ar rezultatas tikslus, ar ne. Žemiau pateiktas kodas tai padarys.

Kodas:

Palaukite_pavyzdys3 () Dim k kaip sveikoji k = 2–9 ląstelės (k, 4). Vertė = langeliai (k, 2) - ląstelės (k, 3) taikymas. Palaukite (Dabar () + TimeValue ("00:00 : 10 ")) Kitas k Pabaigos sub

Šis kodas apskaičiuos pelno stulpelį eilutėmis. Užbaigus pirmąją eilutę, ji lauks 10 sekundžių, kol apskaičiuos kitą eilutę.

VBA miegas prieš VBA laukimą

VBA miega VBA PALAUKITE
Tai nėra įmontuota VBA funkcija, norint pasiekti šią funkciją, reikia specialaus kodo. Tai yra įmontuota VBA funkcija, norint pasiekti šią funkciją nereikia specialaus kodo.
Miego režimas reikalauja milisekundžių. Laukti reikia įprasto laiko.
Mes galime atidėti kodą milisekundėmis. Mes galime atidėlioti tik per kelias sekundes.

Įdomios straipsniai...