VBA ootefunktsioon - Kuidas kasutada Exceli VBA ootemeetodit?

Lang L: none (table-of-contents)

Exceli VBA ootefunktsioon

VBA Wait on sisseehitatud funktsioon, mida kasutatakse koodi täitmise peatamiseks määratud aja jooksul, see on väga sarnane sellele, mida me teeme unerežiimis ja peatame koodi, mida kasutame meetodil application.wait.

Mõned koodid vajavad millalgi enne järgmisele koodireale liikumist muude ülesannete täitmise tõttu. Nendel juhtudel peame koodi täitmise peatama ja mõneks ajaks pausi pidama, seejärel jätkama täitmisega. Saame peatada täidetava koodi kahel viisil: esimene on “Sleep” meetod ja teine ​​“Wait” meetod. Oma varasemas artiklis oleme arutanud VBA-koodi peatamise meetodit “VBA Sleep”.

"Oota", nagu nimi ise ütleb, hoiab see täidetavat makrokoodi määratud aja jooksul. Selle meetodi abil peame määrama aja, mille meie kood peaks peatama. Järgmisena näeme näiteid.

Funktsiooni WAIT süntaks on järgmine.

Peame mainima, kui kaua peaks meie kood peatuma. Nagu lõpuks näete, ütleb see Boolean. See tähendab, et see tagastab tulemuse Boole'i ​​väärtustena, näiteks TRUE või FALSE.

Kuni määratud aja saabumiseni öeldakse FALSE ja määratud aja saabudes tagastatakse TRUE.

See on erinevalt funktsioonist SLEEP, kuna WAIT on sisseehitatud funktsioon, kus SLEEP on Windowsi funktsioon. Enne funktsiooni SLEEP juurde pääsemist peame mainima allpool olevat koodi mooduli ülaosas. Kuid WAIT seda ei vaja.

Kood:

# Kui VBA7 siis avalikult deklareeritakse PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) "64-bitiste süsteemide jaoks #Else Public Declare Sub Sleep Lib" kernel32 "(ByVal dwMillisekundid nii kaua)" 32-bitiste süsteemide jaoks lõppeb, kui

Näited Exceli VBA ootefunktsiooni kasutamiseks

Näide 1

Oletame, et töötate Exceli keskpäeval kell 14:30:00 ja soovite, et teie kood peatataks, kuni kellaajaks saab 14:40:00. Võite kasutada allolevat koodi.

Kood:

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

Kood peatab teie Exceli töötamise seni, kuni teie operatsioonisüsteemis on kell 14:40:00. Niisuguse aja pakkumine on ohtlik, sest me ei tööta alati kell 14:30:00. See varieerub kogu aeg.

Oletame, et alati, kui käitate koodi. Kas soovite oodata 2 minutit, kuidas viidate sellele oma koodis?

Niisiis, saame kasutada funktsiooni VBA NOW funktsiooniga TIME VALUE, et sisestada praegusest ajast määratud aeg.

Meeldetuletuseks tagastab funktsioon NOW () praeguse kuupäeva ja kellaaja vastavalt teie arvutisüsteemile. Funktsioon TIMEVALUE tähistab ajavahemikku 00:00:00 kuni 23:59:59, st 23:59:59 PM 24 tunni vormingus. See teisendab stringi väärtuse ajaväärtuseks.

Näiteks NOW () + TIMEVALUE (00:02:30) tähendab praegust aega + 2 min 30 sek.

Kui praegune kellaaeg on 14:25:30, saab sellest 14:28:00.

Koodi käivitamise peatamiseks või peatamiseks praegusest kellaajast järgmise 10 minutini saate kasutada allolevat koodi.

Kood:

Alam Oot_näide2 () Rakendus. Oota (praegu () + TimeValue ("00:10:00")) Lõpeta alam

Täpse pausi jaoks on oluline kasutada funktsiooni NOW (). Muidu on tõenäoline, et teie Exceli töövihik peatati kuni südaööni. Pausimeetodist saame aga välja tulla igal ajahetkel, vajutades Esc või Break klahvi.

Näide 2

Oodake 10 sekundit iga kord, kui aas töötab

Ootamismeetodit kasutatakse silmustega hästi. On olukordi, kus teil võib tekkida vajadus oodata 10 sekundit iga kord, kui silmus jookseb. Näiteks vaadake allolevaid andmeid.

Kasumi = (Müük - Maksumus) arvutamiseks soovite luua tsükli ja pärast iga tsüklit soovite oodata 10 sekundit, et kontrollida, kas tulemus on täpne või mitte. Seda teeb järgmine kood.

Kood:

Alamoot :_näide3 () Dim k täisarvuna k = 2 kuni 9 lahtrit (k, 4). Väärtus = Lahtrid (k, 2) - Lahtrid (k, 3) Rakendus. Oodake (Nüüd () + TimeValue ("00:00 : 10 ")) Järgmine k End Sub

See kood arvutab tulude veeru rida realt. Pärast esimese rea valmimist ootab see 10 sekundit, enne kui arvutab järgmise rea.

VBA uni vs VBA oot

VBA MAGA VBA OOTA
See pole VBA sisseehitatud funktsioon, selle funktsiooni kasutamiseks on vaja spetsiaalset koodi. See on sisseehitatud VBA funktsioon, ei vaja selle funktsiooni kasutamiseks spetsiaalset koodi.
Uni vajab ajaraamistikuks millisekundit. Ootamiseks on vaja regulaarset ajakava.
Võime koodi viivitada millisekundites. Me võime edasi lükata vaid sekunditega.

Huvitavad Artiklid...