VBA DoEvents

Excel VBA DoEvents-Funktion

Mit Hilfe von VBA DoEvents können wir den Code im Hintergrund ausführen und gleichzeitig auch mit Excel- und anderen Anwendungssoftware arbeiten. Mit DoEvents können wir nicht nur mit anderen Softwareprogrammen arbeiten, sondern auch die Ausführung des Codes unterbrechen.

Die DoEvents-Funktion übergibt die Steuerung an das Betriebssystem des Computers, an dem wir arbeiten.

Wie verwende ich die DoEvents-Funktion?

Eine große Menge an VBA-Code ist erforderlich, wenn die Anforderungen sehr hoch sind. In diesen Fällen hängt Excel für einige Zeit und hört sogar auf, und manchmal reagiert es nicht mehr.

Sie können diese VBA DoEvents Excel-Vorlage hier herunterladen - VBA DoEvents Excel-Vorlage

Ein Beispiel finden Sie im folgenden Code.

Code:

 Sub DoEvents_Example1 () Dim i As Long For i = 1 bis 100000 Range ("A1"). Value = i Next i End Sub 

Mit dem obigen Code werden Seriennummern von 1 bis 100000 eingefügt. Die Ausführung der Aufgabe dauert problemlos mehr als eine Minute. Während der Ausführung bleibt Excel längere Zeit hängen, um die Aufgabe zu erledigen. Während dieser Zeit zeigt Excel die Meldung als "Excel reagiert nicht" an.

Außerdem können wir nicht auf das Arbeitsblatt zugreifen, an dem wir arbeiten. Dies ist eine frustrierende Sache. Wie stellen wir dann das Excel-Arbeitsblatt zur Verfügung, damit es funktioniert, während der Code hinter dem Bildschirm ausgeführt wird?

Dies kann durch Hinzufügen einer VBA DoEvents-Funktion erreicht werden .

Code:

 Sub DoEvents_Example1 () Dim i As Long For i = 1 bis 100000 Range ("A1"). Value = i DoEvents Next i End Sub 

Sobald wir die Funktion DoEvents in den Code einfügen, können wir auf das Excel-Arbeitsblatt zugreifen.

Von oben können wir sehen, dass der Code ausgeführt wird, aber wir können auf das Arbeitsblatt zugreifen.

Unterbrechen Sie die Code-Ausführung

Wenn der Code hinter dem Bildschirm ausgeführt wird, können wir Zeilen und Spalten hinzufügen und löschen. Wir können das Blatt umbenennen und viele andere Dinge tun. In dem Moment, in dem wir DoEvents hinzufügen, läuft der VBA-Code schnell und wir können feststellen, dass die erwähnte Aufgabe für sich selbst ausgeführt wird.

  • Eine der Gefahren der DoEvents-Funktion besteht darin, dass beim Wechseln von Arbeitsblättern oder Arbeitsmappen die aktiven Blattwerte überschrieben werden.
  • Eine weitere Gefahr besteht darin, dass die Codeausführung angehalten wird, wenn wir einen Wert in die Zelle eingeben, und uns nicht einmal benachrichtigt.
Hinweis : Trotz der oben genannten Gefahren von DoEvents ist dies immer noch eine praktische Funktion. Wir können DoEvents als Teil des Debugging-Prozesses verwenden, wenn wir versuchen, Fehler des von uns geschriebenen Codes zu beheben.