VBA DoEvents - Wie und wann wird die DoEvents-Funktion verwendet?

Inhaltsverzeichnis

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 stoppt, und manchmal reagiert es nicht mehr.

Schauen Sie sich zum Beispiel den folgenden Code an.

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 "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.

Anhand der obigen Informationen 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, das Blatt umbenennen und viele andere Dinge tun. Sobald wir DoEvents hinzufügen, wird der VBA-Code schnell ausgeführt, 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 wir Arbeitsblätter oder Arbeitsmappen wechseln und die aktiven Blattwerte überschreiben.
  • Eine andere Gefahr besteht darin, dass die Codeausführung angehalten wird und uns nicht einmal benachrichtigt wird, wenn wir einen Wert in die Zelle eingeben.
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.

Interessante Beiträge...