VBA Događaji - Kako i kada koristiti funkciju DoEvents?

Excel VBA DoEvents funkcija

Uz pomoć VBA DoEvents možemo omogućiti rad koda u pozadini, a istovremeno nam omogućuje rad s excelom i ostalim aplikacijskim softverom. DoEvents ne samo da nam omogućuje rad s drugim softverom, već možemo i prekinuti pokretanje koda.

Funkcija DoEvents prenosi kontrolu na operativni sustav računala na kojem radimo.

Kako koristiti funkciju DoEvents?

Potrebna je velika količina VBA koda kada je zahtjev ogroman. U tim slučajevima excel neko vrijeme visi i zaustavlja se, pa čak i ponekad prestane reagirati.

Na primjer, pogledajte donji kod.

Kodirati:

Sub DoEvents_Example1 () Dim i čeznuti za raspon i = 1 do 100000 ("A1"). Vrijednost = i Sljedeće i Kraj Sub

Gornji kod umetnut će serijske brojeve od 1 do 100000. Izvršenje zadatka lako će potrajati više od minute. Tijekom izvršavanja, Excel visi dosta vremena kako bi dovršio zadatak. Za to vrijeme Excel prikazuje poruku kao "Excel ne reagira."

Štoviše, ne možemo pristupiti radnom listu na kojem radimo. Ovo je frustrirajuća stvar, kako onda učiniti da excel radni list bude dostupan za rad dok kôd radi iza zaslona.

To se može postići dodavanjem funkcije VBA DoEvents .

Kodirati:

Sub DoEvents_Example1 () Dim i čeznuti za i = 1 do 100000 Raspon ("A1"). Value = i DoEvents Next i End Sub

Onog trenutka kada u kôd dodamo funkciju Događanja, možemo pristupiti Excelovom radnom listu.

Iz gore navedenog možemo vidjeti da se kôd izvodi, ali možemo pristupiti radnom listu.

Prekinite pokrenut kod

Kada se kôd prikazuje iza zaslona, ​​možemo dodavati retke, stupce i brisati iste, možemo preimenovati list, a možemo i mnoge druge stvari. Onog trenutka kada dodamo DoEvents, ubrzava se rad VBA koda i omogućuje nam pad da se spomenuti zadatak izvodi sam za sebe.

  • Jedna od opasnosti funkcije DoEvents je kada mijenjamo radne listove ili radne knjige i ona prepisuje aktivne vrijednosti lista.
  • Druga je opasnost ako unesemo bilo koju vrijednost u ćeliju, izvršavanje koda se zaustavi, a ona nas ni ne obavijesti.
Napomena : Unatoč gore navedenim opasnostima DoEventa, to je još uvijek korisna funkcija. DoEvents možemo koristiti kao dio postupka ispravljanja pogrešaka kada pokušavamo ispraviti pogreške koda koji smo napisali.

Zanimljivi članci...