VBA funkcija čekanja - Kako koristiti Excel VBA metodu čekanja?

Excel VBA funkcija čekanja

VBA Wait je ugrađena funkcija koja se koristi za zaustavljanje izvršavanja koda određeno vrijeme, vrlo je slična onome što radimo u naredbi mirovanja i za pauziranje koda koristimo application.wait metodu.

Neki od kodova zahtijevaju prije prelaska na sljedeći redak koda, zbog drugih zadataka koje treba dovršiti. U tim slučajevima moramo zaustaviti izvršavanje koda i zaustaviti se neko vrijeme, a zatim nastaviti s izvršenjem. Kôd koji možemo izvršiti možemo zaustaviti na dva načina, prvi je metoda "Sleep", a drugi metoda "Wait". U našem ranijem članku razgovarali smo o metodi "VBA Sleep" za zaustavljanje VBA koda.

"Pričekajte", kao što i samo ime kaže, u njemu će se čuvati makronaredba koja se izvršava u određenom vremenskom okviru. Koristeći ovu metodu, moramo odrediti vrijeme kada bi naš kod trebao zastati. Primjere ćemo vidjeti dalje.

Sintaksa funkcije WAIT je sljedeća.

Moramo spomenuti količinu vremena koje bi naš kod trebao zaustaviti. Kao što vidite na kraju, stoji Boolean. To znači da rezultat vraća kao logičke vrijednosti, tj. TRUE ili FALSE.

Dok ne dođe određeno vrijeme, piše FALSE, a trenutak kada je navedeno vrijeme stiglo, vraća TRUE.

To je za razliku od funkcije SLEEP jer je WAIT ugrađena funkcija u kojoj je SLEEP funkcija Windows-a. Prije nego što pristupimo funkciji SLEEP, moramo spomenuti donji kod na vrhu modula. Ali WAIT ovo ne zahtijeva.

Kodirati:

#Ako VBA7 tada javno objavi PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) 'za 64-bitne sustave #Else Javno izjavi Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)' Za 32-bitne sustave završi ako

Primjeri upotrebe funkcije čekanja Excel VBA

Primjer # 1

Pretpostavimo da radite u Excelu sredinom dana u 14:30:00 i želite da vaš kod bude pauziran dok vrijeme ne postane 14:40:00. Možete koristiti donji kod.

Kodirati:

Sub Wait_Example1 () aplikacija. Pričekajte "14:40:00" Kraj Sub

Kôd će zaustaviti vaš excel da radi sve dok vrijeme ne dosegne 14:40:00 u vašem operativnom sustavu. Osigurati vrijeme poput ovog opasno je jer ne radimo uvijek od 14:30:00. Stalno se mijenja.

Recimo kad god pokrenete kod. Želite pričekati 2 minute, kako se to odnosi na vaš kôd?

Dakle, možemo koristiti funkciju VBA NOW s funkcijom VRIJEME VRIJEME da unesemo određeno vrijeme iz trenutnog vremena.

Samo da vas podsjetimo, funkcija SADA () vraća trenutni datum i vrijeme prema vašem računalnom sustavu. Funkcija TIMEVALUE predstavlja vrijeme od 00:00:00 do 23:59:59 tj. 23:59:59 PM u 24-satnom formatu. Pretvara vrijednost niza u vremensku vrijednost.

Za primjer NOW () + TIMEVALUE (00:02:30) znači Trenutno vrijeme + 2 min 30 sek.

Ako je trenutno vrijeme 14:25:30, tada postaje 14:28:00.

Da biste zaustavili ili zaustavili izvršavanje koda od trenutnog vremena do sljedećih 10 minuta, možete upotrijebiti donji kôd.

Kodirati:

Sub Wait_Example2 () aplikacija. Pričekajte (Now () + TimeValue ("00:10:00")) End Sub

Važno je koristiti funkciju NOW () za točnu pauzu. U suprotnom, postoji vjerojatnost da je vaša radna knjiga excel zaustavljena do ponoći. Međutim, iz načina pauze možemo izaći u bilo kojem trenutku pritiskom na tipku Esc ili tipku Break.

Primjer # 2

Pričekajte 10 sekundi svaki put kad se petlja pokrene

Metoda čekanja dobro se koristi s petljama. Postoje situacije u kojima ćete možda trebati pričekati 10 sekundi svaki put kad se petlja pokrene. Na primjer, pogledajte podatke u nastavku.

Da biste izračunali dobit = (prodaja - trošak), želite stvoriti petlju, a nakon svake petlje želite pričekati 10 sekundi kako biste provjerili je li rezultat točan ili ne. To će učiniti donji kod.

Kodirati:

Sub Wait_Example3 () Dim k kao cjelobrojno za k = 2 do 9 ćelija (k, 4) .Vrijednost = stanice (k, 2) - Primjena ćelija (k, 3). Pričekajte (Sada () + TimeValue ("00:00 : 10 ")) Sljedeći k Kraj Sub

Ovaj će kôd izračunati stupac dobiti redak po redak. Nakon završetka prvog retka, pričekat će 10 sekundi prije nego što izračuna sljedeći redak.

VBA Spavanje protiv VBA Pričekajte

VBA SPAVANJE VBA pričekajte
To nije ugrađena funkcija VBA-a, potreban joj je poseban kôd za pristup ovoj funkciji. To je VBA ugrađena funkcija, ne zahtijeva poseban kod za pristup ovoj funkciji.
Spavanje zahtijeva milisekunde kao vremenski okvir. Čekanje zahtijeva redoviti vremenski okvir.
Kôd možemo odgoditi u milisekundama. Možemo odgoditi samo u cijelim sekundama.

Zanimljivi članci...