VBA gaidīšanas funkcija - Kā izmantot Excel VBA gaidīšanas metodi?

Excel VBA gaidīšanas funkcija

VBA Wait ir iebūvēta funkcija, ko izmanto, lai apturētu koda izpildi uz noteiktu laiku, tā ir ļoti līdzīga tai, ko mēs darām miega komandā, un lai apturētu kodu, kuru izmantojam metodi application.wait.

Dažiem kodiem ir nepieciešams laiks, lai pārietu uz nākamo koda rindu citu veicamo uzdevumu dēļ. Šādos gadījumos mums ir jāpārtrauc koda izpilde un kādu laiku jāpārtrauc, pēc tam jāturpina izpilde. Mēs varam apturēt izpildāmo kodu divos veidos: pirmais ir “miega” metode, bet otrais - “gaidīšanas” metode. Iepriekšējā rakstā mēs esam apsprieduši “VBA miega” metodi, lai apturētu VBA kodu.

“Pagaidiet”, kā teikts pašā nosaukumā, tas izpildāmajam makro kodam būs noteikts laiks. Izmantojot šo metodi, mums jānorāda laiks, kad mūsu kodam vajadzētu būt pauzei. Tālāk mēs redzēsim piemērus.

Funkcijas WAIT sintakse ir šāda.

Mums jāpiemin, cik ilgi mūsu kodam vajadzētu būt pauzei. Kā jūs varat redzēt beigās, tas saka Būla. Tas nozīmē, ka rezultāts tiek atgriezts kā Būla vērtības, ti, TRUE vai FALSE.

Līdz brīdim, kad ir pienācis norādītais laiks, tas saka FALSE, un brīdī, kad pienāca norādītais laiks, tas atgriež TRUE.

Tas atšķirībā no funkcijas SLEEP, jo WAIT ir iebūvēta funkcija, kur SLEEP ir Windows funkcija. Pirms mēs piekļūstam funkcijai SLEEP, moduļa augšpusē mums jāpiemin zemāk redzamais kods. Bet WAIT to neprasa.

Kods:

# Ja VBA7, tad publiski paziņojiet, ka PtrSafe Sub Sleep Lib "kodols32" (ByVal dwMilliseconds As LongPtr) "64 bitu sistēmām #Else Public Declare Sub Sleep Lib" kodols32 "(ByVal dwMillisekundes tik ilgi)" 32 bitu sistēmām beidzas, ja

Excel VBA gaidīšanas funkcijas izmantošanas piemēri

1. piemērs

Pieņemsim, ka strādājat Excel dienas vidū plkst. 14:30:00 un vēlaties, lai kods tiktu apturēts, līdz laiks kļūst 14:40:00. Jūs varat izmantot zemāk esošo kodu.

Kods:

Sub Wait_Example1 () Application. Pagaidiet "14:40:00" End Sub

Kods pārtrauks jūsu Excel darbību, līdz laiks operētājsistēmā sasniegs 14:40:00. Šāda laika nodrošināšana ir bīstama, jo mēs ne vienmēr strādājam no pulksten 14:30:00. Tas visu laiku mainās.

Pieņemsim, ka vienmēr, kad izmantojat kodu. Jūs vēlaties pagaidīt 2 minūtes, kā jūs to atsaucaties savā kodā?

Tātad, mēs varam izmantot funkciju VBA TAGAD ar funkciju LAIKA VĒRTĪBA, lai ievadītu norādīto laiku no pašreizējā laika.

Lai atgādinātu jums, funkcija NOW () atgriež pašreizējo datumu un laiku atbilstoši jūsu datorsistēmai. Funkcija TIMEVALUE 24 stundu formātā norāda laiku no 00:00:00 līdz 23:59:59, ti, 23:59:59 PM. Tas pārveido virknes vērtību par laika vērtību.

Piemēram, NOW () + TIMEVALUE (00:02:30) nozīmē Pašreizējais laiks + 2 min 30 sek.

Ja pašreizējais laiks ir 14:25:30, tad tas kļūst par 14:28:00.

Lai apturētu vai apturētu koda izpildi no pašreizējā laika līdz nākamajām 10 minūtēm, varat izmantot tālāk norādīto kodu.

Kods:

Apakšdaļa Pagaidiet_piemērs2 () Pieteikums. Pagaidiet (Tagad () + TimeValue ("00:10:00")) Beigas

Precīzai pauzei ir svarīgi izmantot funkciju NOW (). Pretējā gadījumā pastāv iespēja, ka jūsu Excel darbgrāmata ir apturēta līdz pusnaktij. Tomēr mēs varam izkļūt no pauzes metodes jebkurā laika posmā, nospiežot taustiņu Esc vai pārtraukuma taustiņu.

2. piemērs

Gaidiet 10 sekundes Katru reizi, kad darbojas cilpa

Gaidīšanas metodi labi izmanto ar cilpām. Ir situācijas, kad jums var būt nepieciešams gaidīt 10 sekundes katru reizi, kad cilpa darbojas. Piemēram, apskatiet tālāk minētos datus.

Lai aprēķinātu Peļņa = (Pārdošana - Izmaksas), vēlaties izveidot cilpu, un pēc katras cilpas vēlaties gaidīt 10 sekundes, lai pārbaudītu, vai rezultāts ir pareizs. Zemāk esošais kods to izdarīs.

Kods:

Apakšgaida_piemērs3 () Dim k kā skaitlis k = 2 līdz 9 šūnām (k, 4). Vērtība = Šūnas (k, 2) - Šūnas (k, 3) Pieteikums. Pagaidiet (Tagad () + TimeValue ("00:00 : 10 ")) Nākamais k Beigu apakš

Šis kods aprēķinās peļņas kolonnu pa rindām. Pēc pirmās rindas pabeigšanas tā gaidīs 10 sekundes, pirms aprēķinās nākamo rindu.

VBA miega režīms pret VBA gaidīšanu

VBA gulēt VBA GAIDĪT
Tā nav iebūvēta VBA funkcija, lai piekļūtu šai funkcijai, nepieciešams īpašs kods. Tā ir iebūvēta VBA funkcija, lai piekļūtu šai funkcijai, nav nepieciešams īpašs kods.
Miega režīms prasa milisekundes kā laika grafiku. Gaidīšanai nepieciešams regulārs laika grafiks.
Mēs varam aizkavēt kodu milisekundēs. Mēs varam aizkavēties tikai veselās sekundēs.

Interesanti raksti...