VBA DoEvents | Kuidas ja millal funktsiooni DoEvents kasutada?
Exceli VBA DoEvents funktsioon
VBA DoEventsi abiga saame koodi käivitada taustal ja võimaldab meil samaaegselt töötada ka Exceli ja muu rakendustarkvaraga. DoEvents võimaldab meil mitte ainult töötada koos muu tarkvaraga, vaid võime ka koodi käitamise katkestada.
Funktsioon DoEvents annab juhtimise üle selle arvuti operatsioonisüsteemile, millega töötame.
Kuidas funktsiooni DoEvents kasutada?
Kui nõue on suur, on vaja suurt hulka VBA-koodi. Nendel juhtudel jääb Excel mõneks ajaks rippuma ja seisma ning isegi mõnikord ei reageeri see enam.
Selle VBA DoEvents Exceli malli saate alla laadida siit - VBA DoEvents Exceli mallNäite saamiseks vaadake allolevat koodi.
Kood:
Sub DoEvents_Example1 () Hämardage i nii kaua, kui i = 1 kuni 100000 vahemikku ("A1"). Väärtus = i Järgmine i Lõpp Sub
Ülalolev kood sisestab seerianumbrid vahemikus 1 kuni 100 000. Ülesande täitmiseks kulub hõlpsasti rohkem kui minut. Hukkamise ajal ripub excel ülesande täitmiseks märkimisväärse aja. Sel ajal näitab Excel sõnumit kui „Excel ei reageeri“.
Pealegi ei pääse me töölehele, millega töötame. See on pettumust valmistav asi, kuidas siis muuta Exceli tööleht töötamiseks kättesaadavaks, kui kood ekraani taga töötab.
Seda saab saavutada funktsiooni VBA DoEvents lisamisega .
Kood:
Sub DoEvents_Example1 () Hämardage i nii kaua kui i = 1 kuni 100000 vahemikku ("A1"). Väärtus = i DoEvents Järgmine i End Sub
Hetkel, kui lisame koodi DoEvents funktsiooni, pääseme juurde Exceli töölehele.
Ülevalt näeme, et kood töötab, kuid pääseme töölehele juurde.
Katkestage koodi käitamine
Kui kood töötab ekraani taga, saame ridu, veergu lisada ja kustutada, saame lehe ümber nimetada ja teha palju muid asju. Hetkel, kui lisame DoEvents, paneb see vba-koodi kiiresti tööle ja võimaldab meil langetada, et mainitud ülesanne töötab ise.
- Funktsiooni DoEvents üks ohte on see, kui vahetame töölehti või töövihikuid, see kirjutab aktiivsete lehtede väärtused üle.
- Teine oht on see, et kui sisestame lahtrisse mis tahes väärtuse, peatub koodi täitmine ja see ei teavita meid isegi.