Dogodki VBA | Kako in kdaj uporabiti funkcijo DoEvents?

Funkcija DoEvents programa Excel VBA

S pomočjo VBA DoEvents lahko naredimo, da se koda izvaja v ozadju, hkrati pa nam omogoča tudi delo z excelom in drugo aplikacijsko programsko opremo. DoEvents nam ne omogoča samo dela z drugo programsko opremo, temveč lahko tudi prekinemo izvajanje kode.

Funkcija DoEvents prenaša nadzor na operacijski sistem računalnika, na katerem delamo.

Kako uporabljati funkcijo DoEvents?

Ko je zahteva velika, je potrebna velika količina kode VBA. V teh primerih excel nekaj časa visi in se ustavi, včasih pa se ne odziva.

To predlogo VBA DoEvents Excel lahko prenesete tukaj - Predloga VBA DoEvents Excel

Za primer si oglejte spodnjo kodo.

Koda:

 Sub DoEvents_Example1 () Dim i as long for i = 1 To 100000 Range ("A1"). Value = i Next i End Sub 

Zgornja koda bo vstavila serijske številke od 1 do 100000. Za nalogo bo trajalo več kot minuto. Med izvajanjem excel precej časa visi, da dokonča nalogo. V tem času excel prikaže sporočilo kot »Excel se ne odziva«.

Poleg tega ne moremo dostopati do delovnega lista, na katerem delamo. To je frustrirajoče, kako potem narediti Excelov delovni list na voljo za delo, medtem ko koda teče za zaslonom.

To lahko dosežete z dodajanjem funkcije VBA DoEvents .

Koda:

 Sub DoEvents_Example1 () Dim i as long for i = 1 To 100000 Range ("A1"). Value = i DoEvents Next i End Sub 

V trenutku, ko v kodo dodamo funkcijo DoEvents, lahko dostopamo do Excelovega delovnega lista.

Od zgoraj lahko vidimo, da se koda izvaja, vendar imamo dostop do delovnega lista.

Prekinite izvajanje kode

Ko se koda izvaja za zaslonom, lahko dodamo vrstice, stolpce in jih izbrišemo, lahko preimenujemo list in lahko storimo tudi marsikaj drugega. V trenutku, ko dodamo DoEvents, se koda vba hitro zažene in nam pusti, da se omenjena naloga izvaja sama zase.

  • Ena od nevarnosti funkcije DoEvents je, ko zamenjamo delovne liste ali delovne zvezke, da prepiše aktivne vrednosti listov.
  • Druga nevarnost je, če v celico vnesemo katero koli vrednost, se izvajanje kode ustavi in ​​nas niti ne obvesti.
Opomba : Kljub zgoraj navedenim nevarnostim DoEvents je še vedno priročna funkcija. DoEvents lahko uporabimo kot del postopka za odpravljanje napak, ko skušamo odpraviti napake kode, ki smo jo napisali.