VBA DoEvents - Kuidas ja millal funktsiooni DoEvents kasutada?

Lang L: none (table-of-contents)

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 ripub ja peatub Excel mõneks ajaks ja isegi mõnikord muutub see reageerimata.

Näiteks 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 Alam

Ü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. Selle aja jooksul kuvab Excel sõnumi 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.

Ülaltoodust näeme, et kood töötab, kuid töölehele pääseme juurde.

Katkestage koodi käitamine

Kui kood töötab ekraani taga, saame ridu, veergu lisada ja kustutada, saame lehe ümber nimetada ja teha ka palju muid asju. Hetkel, kui lisame DoEventsi, paneb see VBA-koodi kiiresti tööle ja võimaldab meil kukkuda, et mainitud ülesanne töötab ise.

  • Funktsiooni DoEvents üks ohte on see, kui vahetame töölehti või töövihikuid ja see kirjutab üle aktiivsete lehtede väärtused.
  • Teine oht on see, kui sisestame lahtrisse mis tahes väärtuse, koodi täitmine peatub ja see ei teavita meid isegi.
Märkus . Vaatamata ülaltoodud DoEventsi ohtudele on see endiselt käepärane funktsioon. Saame DoEventsi kasutada silumisprotsessi osana, kui proovime kirjutatud koodi vigu parandada.

Huvitavad Artiklid...