Excel VBA DoEvents-funktion
Med hjälp av VBA DoEvents kan vi få koden att köras i bakgrunden och samtidigt låta oss arbeta med excel och andra applikationsprogram. DoEvents tillåter oss inte bara att arbeta med annan programvara utan vi kan också avbryta körningen av koden.
DoEvents-funktionen överför kontrollen till operativsystemet på den dator vi arbetar med.

Hur använder jag DoEvents-funktionen?
En stor mängd VBA-kod krävs när kravet är stort. I dessa fall hänger och stannar Excel under en tid, och till och med ibland blir det inte svarande.
Titta till exempel på koden nedan.
Koda:
Sub DoEvents_Example1 () Dim i så länge för i = 1 till 100000 intervall ("A1"). Värde = i Nästa i End Sub

Ovanstående kod kommer att infoga serienummer från 1 till 100000. Det tar lätt mer än en minut att utföra uppgiften. Under utförandet hänger excel under en avsevärd tid för att slutföra uppgiften. Under denna tid visar excel meddelandet som "Excel svarar inte."

Dessutom kan vi inte komma åt kalkylbladet vi arbetar med. Det här är en frustrerande sak, hur gör vi Excel-kalkylbladet tillgängligt för att fungera medan koden körs bakom skärmen.
Detta kan uppnås genom att lägga till en VBA DoEvents-funktion .
Koda:
Sub DoEvents_Example1 () Dim i så länge för i = 1 till 100000 Range ("A1"). Värde = i DoEvents Nästa i End Sub

När vi lägger till funktionen DoEvents i kod kan vi komma åt Excel-kalkylbladet.

Från ovanstående kan vi se att koden körs, men vi kan komma åt kalkylbladet.
Avbryt kodkörningen
När koden körs bakom skärmen kan vi lägga till rader, kolumner och ta bort samma, vi kan byta namn på arket och vi kan också göra många andra saker. I det ögonblick som vi lägger till DoEvents får VBA-koden att gå snabbt och låter oss tappa att den nämnda uppgiften kör för sig själv.
- En av farorna med DoEvents-funktionen är när vi byter kalkylblad eller arbetsböcker och den skriver över de aktiva arkvärdena.
- En annan fara är om vi anger något värde i cellen, kodkörningen stoppas, och det meddelar inte ens oss.