Code in VBA anhalten

Ich frage mich sogar, wie großartig es wäre, wenn wir den Code so ausführen könnten, wie es unsere Zeit erlaubt, denn bis dahin würden wir es schaffen, die anderen Arbeiten abzuschließen und diese Daten für die weitere Arbeit vorzubereiten. Dies ist die Notwendigkeit für jede Art von Aufgaben, bei denen wir einen Satz von Code ausführen und an anderen Dingen arbeiten müssen, wie es die Codeanforderung vorsieht, und bis der andere Teil des Codes ausgeführt wird, wären wir mit den Daten fertig, die wir mit dem verarbeiten müssen gleichen Code. Dies kann mit der Sleep and Wait-Anwendung von VBA erfolgen. Durch Sleep and Wait können wir den Code jederzeit pausieren. Die Zeit kann in Sekunden oder nach Uhrzeit angegeben werden.

Syntax der VBA-Pause in Excel

Die Syntax für die VBA-Pause lautet wie folgt:

Beispiele zum Anhalten von VBA-Code in Excel

Nachfolgend sind die verschiedenen Beispiele zum Anhalten von VBA-Code in Excel aufgeführt.

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

Beispiel # 1 - VBA Pause

In diesem Beispiel sehen wir, wie VBA Wait funktioniert. Wie wir sehen können, erlaubt die Wait- Anwendung Time als Boolean. Das heißt, wenn der von uns eingegebene Wert korrekt ist, erhalten wir ihn als TRUE else FALSE.

Um zu sehen, wie die VBA-Pause mit der Wait-Anwendung in VBA funktioniert,

Schritt 1: Zuerst benötigen wir ein Modul, in dem wir den Code dafür schreiben. Gehen Sie also zum Menü Einfügen und wählen Sie die Dropdown-Option Modul aus (siehe unten).

Schritt 2: Schreiben Sie nun die Unterkategorie in den Namen von VBA Pause oder in einen anderen Namen nach Ihrer Wahl, wie unten gezeigt.

Code:

 Sub VBAPause1 () End Sub 

Für die VBA-Pause benötigen wir einen Satz Text, den wir mit einer Pause drucken möchten. Betrachten wir diesen Text als „ Get… Set… Go… !! ”. Wir werden also 3 verschiedene Zellen auswählen, in denen wir diese Textwörter in jeder Zelle separat aufbewahren.

Schritt 3: Wählen Sie den ersten Zellbereich als A1 oder eine beliebige andere Zelle aus. Um den Wert zuzuweisen, wählen Sie die Wertefunktion und geben Sie einen Wert ein, wie oben festgelegt. Oder wählen Sie einen beliebigen Wert nach Wahl.

Code:

 Sub VBAPause1 () Range ("A1"). Value = "Get …" End Sub 

Schritt 4: Weisen Sie den Rest der Werte auf die gleiche Weise zu, wie wir es für den ersten Wert getan haben. Hier wählen wir Zellen von A1 bis C1 als unser Sortiment.

Code:

 Sub VBAPause1 () Bereich ("A1"). Wert = "Get …" Bereich ("B1"). Wert = "Set …" Bereich ("C1"). Wert = "Go .. !!!" End Sub 

Schritt 5: Wenn wir den vollständigen Code ausführen, erhalten wir zufällig alle Werte von Get. Stellen Sie… Gehen Sie .. !!! in einem Zug von Zelle A1 nach C1, wie unten gezeigt.

Schritt 6: Wenn wir zwischen den Pausen eine Pause machen möchten, müssen wir die Anwendung Wait verwenden, wie unten gezeigt. Wir werden diese Anwendung direkt über dem letzten Bereich verwenden.

Code:

 Sub VBAPause1 () Range ("A1"). Value = "Get …" Range ("B1"). Value = "Set …" Application.Wait (Range ("C1"). Value = "Go ..! !!" End Sub 

Schritt 7: In der Klammer der Wait-Anwendung können wir die Zeit im 24-Stunden-Format oder im AM / PM-Format schreiben. Wir ziehen das 24-Stunden-Format in Betracht. Schreiben Sie nun die Zeit im Format HH: MM: SS, zu der der Rest des Codes nach einer Pause ausgeführt werden soll.

Code:

 Sub VBAPause1 () Range ("A1"). Value = "Get …" Range ("B1"). Value = "Set …" Application.Wait ("12: 26: 00") Range ("C1") .Value = "Los .. !!!" End Sub 

Schritt 8: Kompilieren Sie nun den Code und führen Sie ihn erneut aus. Wir werden sehen, in Zelle A1 haben wir den Zellenwert "Get …" und der Cursor läuft immer noch beim Warten.

Schritt 9: Sobald die Uhr 12:25:00 Uhr erreicht hat, werden die restlichen Zellenwerte in den Zellen B1 und C1 wieder wie unten dargestellt angezeigt.

Beispiel # 2 - VBA Pause

Es gibt eine andere Möglichkeit, den Code anzuhalten, ohne die Zeit in der Wait-Anwendung mehrmals hinzuzufügen oder zu ändern. Dafür würden wir auf denselben Code verweisen, den wir in Beispiel-1 gesehen haben.

Schritt 1: Schreiben Sie nun in die Klammer der Wait-Anwendung Now () mit TimeValue, die wir geben möchten. Betrachten wir die Pause von 30 Sekunden.

Code:

 Sub VBAPause2 () Bereich ("A1"). Wert = "Get …" Bereich ("B1"). Wert = "Set …" Application.Wait (Now () + TimeValue ("00:00:30") ) Bereich ("C1"). Wert = "Go .. !!!" End Sub 

Schritt 2: Wenn wir den Code ausführen, berücksichtigt VBA die aktuelle Zeit und fügt eine Pause von 30 Sekunden hinzu. Und es funktioniert auf ähnliche Weise wie in Beispiel 1. Führen Sie zur Überprüfung den Code aus.

Zuerst erhalten wir den ersten Zellenwert bei A1.

Nach einer Pause von 30 Sekunden werden die restlichen Werte in den Zellen B1 und C1 angezeigt.

Beispiel # 3 - VBA Pause

In diesem Beispiel wird gezeigt, wie die VBA-Pause mit der Schlafanwendung funktioniert. Unten ist die Syntax der Schlafanwendung angegeben, die ByVal dwMilliseconds nur als LongPtr zulässt .

Jetzt ist dieser Wert tatsächlich in VBA. Wir müssen vorgefertigten Code eingeben, der in MS Docs verfügbar ist (siehe unten).

Schritt 1: Schreiben Sie nun die Unterkategorie für die VBA-Pause wie unten gezeigt.

Code:

 Sub VBAPause3 () End Sub 

Schritt 2: Dazu müssen wir 2 Variablen für die Start- und Ruhezeit als Zeichenfolge definieren, wie unten gezeigt.

Code:

 Sub VBAPause3 () Dim, das als String beginnt Dim, das als String schläft End Sub 

Schritt 3: Weisen Sie der ersten Variablen, die gestartet wird, eine Zeitfunktion zu.

Code:

 Sub VBAPause3 () Dim, das als Zeichenfolge beginnt Dim, das als Zeichenfolge beginnt = Time End Sub 

Schritt 4: Verwenden Sie Msgbox, um den in der Startvariablen gespeicherten Wert anzuzeigen .

Code:

 Sub VBAPause3 () Dim, das als Zeichenfolge beginnt Dim, das als Zeichenfolge beginnt = Time MsgBox Starting End Sub 

Schritt 5: Verwenden Sie nun die Schlafanwendung und teilen Sie die Anzahl der Millisekunden ein, bis die Funktionen in den Schlafmodus versetzt werden sollen.

Code:

 Sub VBAPause3 () Dimmen als String starten Dimmen als String schlafen Starten = Zeit MsgBox Start Schlafen = Zeit Ende Sub 

Schritt 6: Geben Sie nun auf ähnliche Weise der zweiten Variablen Sleeping eine Zeitanwendung . Verwenden Sie MsgBox, um den Wert anzuzeigen, der in der Variablen Sleeping gespeichert ist (siehe Abbildung unten).

Code:

 Sub VBAPause3 () Dimmen als String starten Dimmen als String schlafen Start = Zeit MsgBox Start Schlaf = Zeit MsgBox Schlaf Ende Sub 

Kompilieren Sie zum Schluss den Code und führen Sie ihn aus, indem Sie auf die Schaltfläche "Abspielen" unterhalb der Menüleiste klicken (siehe Abbildung unten). Wir werden das Meldungsfeld mit der Zeit erhalten, die unsere Startzeit sein wird.

Sobald wir nach 5000 Millisekunden auf OK klicken, sehen wir ein weiteres Meldungsfeld mit der unten gezeigten Ruhezeit.

Die Zeit des Schlafens beginnt, sobald wir auf die Schaltfläche OK klicken. Es ist nicht der Zeitunterschied zwischen Start- und Schlafzeit. In der Tat ist es die Zeit, nachdem wir in einem ersten Meldungsfeld auf die Schaltfläche OK geklickt haben.

Vorteile von VBA Pause

  • Dies ist sehr nützlich, wenn mehrere Funktionen in einem bestimmten Zeitintervall ausgeführt werden sollen.
  • Dies kann zu Analyse- und Berechnungszwecken verwendet werden.

Dinge, an die man sich erinnern sollte

  • Prozesse wie VBA-Pause können nicht durch Aufzeichnen des Makros ausgeführt werden.
  • Es ist immer besser, den in Beispiel 2 gezeigten Prozess für die Warteanwendung zu verwenden, bei der wir sicher sind, die Zeit immer wieder zu ändern, anstatt nur einige Sekunden nach der aktuellen Zeit eine Pause einzulegen.
  • Die Schlafanwendung aus Beispiel 3 lässt nur Millisekunden zu
  • Der zu Beginn von Beispiel-3 gezeigte Vorerstellungscode ist ein wichtiger Teil, der angewendet werden muss, da er der Syntax der Schlafanwendung entspricht.

Empfohlene Artikel

Dies ist eine Anleitung zur VBA-Pause. Hier besprechen wir, wie wir den Code jederzeit mit Wait and Sleep Application anhalten können. Sie können auch unsere anderen Artikelvorschläge durchgehen -

  1. Wie verwende ich die VBA IsNumeric-Funktion?
  2. Kombinationsfeld in Excel erstellen
  3. CheckBox in Excel einfügen
  4. VBA UCASE-Funktion in Excel

Kategorie: