VBA Do Loops - Wie verwende ich Excel VBA Do Loops?

Inhaltsverzeichnis

Excel VBA Do Loop

VBA Do-Schleife , es handelt sich um eine Reihe von Anweisungen innerhalb einer Unterprozedur, bei der Code eine bestimmte Anzahl von Malen ausgeführt wird, bis die gewünschten Kriterien erreicht sind oder ein Schwellenwert überschritten wird, oder sicher gesagt werden kann, bis die erforderlichen Daten erhalten werden.

Während die Schleife mit logischen Ergebnissen arbeitet, führt sie die Schleife weiter hin und her, während die Testbedingung WAHR ist. Sobald die Testbedingung FALSE zurückgibt, verlässt sie die Schleife. Schleifen sind das Herz jeder Programmiersprache. In unseren Artikeln zeigen wir, wie wichtig Schleifen sind und wie sie codiert werden können. In diesem Artikel zeigen wir Ihnen, wie Sie Do Loop verwenden.

Wie benutzt man den VBA Do Loop?

Beispiel 1 - Bedingung am Ende der Schleife

Wir haben den Bedingungstest am Anfang der Schleife gesehen. Im früheren Code haben wir das Beispiel des Einfügens von Seriennummern gesehen, und der Code war so.

Code:

Sub Do_While_Loop_Example1 () Dim k As Long k = 1 Do While k <= 10 Zellen (k, 1) .Value = kk = k + 1 Loop End Sub

Jetzt können Sie diesen Code manuell oder über die Tastenkombination F5 ausführen, um das Ergebnis anzuzeigen.

Dieser Code fügt Seriennummern von 1 bis 10 ein.

Wir können den Zustand aber auch am Ende der Schleife testen. Wir müssen das Wort "while" und den Bedingungstest am Ende nach dem Wort "Loop" verwenden.

Die einzige Änderung besteht darin, den Test am Ende anzuwenden, wie unten gezeigt.

Code:

Sub Do_While_Loop_Example1 () Dim k As Long k = 1 Do Cells (k, 1) .Value = kk = k + 1 Loop While k <= 10 End Sub

Auf diese Weise können wir die Bedingung auch am Ende der Schleifenanweisung testen.

Hinweis: Der Code wird ausgeführt und testet dann die Bedingung, um noch einmal zur Schleife zurückzukehren oder nicht. Dies bedeutet, dass es zuerst ausgeführt wird und dann später versucht wird.

Beispiel 2 - Summation mit Do While Loop

Angenommen, Sie haben Verkaufs- und Kostendaten in Ihrem Excel-Blatt. Unten finden Sie die Dummy-Daten, die ich zur Berechnung erstellt habe.

Jetzt müssen wir den Wert des Gewinns in Spalte C ermitteln. Ich habe bereits einen Code erstellt, der einen Job für mich erledigt.

Code:

Sub Do_While_Loop_Example2 () Dim k As Long Dim LR As Long k = 2 LR = Zellen (Rows.Count, 1) .End (xlUp) .Row Do While k <= LR Cells (k, 3) .Value = Cells (k , 1) + Zellen (k, 2) k = k + 1 Loop End Sub
LR = Zellen (Rows.Count, 1) .End (xlUp) .Row

Dieser Code identifiziert die zuletzt verwendete Zeile in der ersten Spalte. Dies macht den Code dynamisch, da beim Hinzufügen oder Löschen der Daten meine Sequenzzeit angepasst wird, um die Schleife auszuführen.

k = 2

Wir möchten, dass die Berechnung ab der zweiten Zelle erfolgt. Der Anfangswert von k ist also 2.

Do While k <= LR

Wie gesagt, LR findet die zuletzt verwendete Zeile in der ersten Spalte. Dies bedeutet, dass die Schleife ausgeführt wird, während k <= zum Wert von LR ist. In diesem Fall habe ich 10 Zeilen, also LR = 10.

Die Schleife wird ausgeführt, bis der k-Wert 10 erreicht. Sobald der Betrag 10 Schleifen überschritten hat, wird sie gestoppt.

Jetzt können Sie diesen Code mit der Tastenkombination F5 oder manuell ausführen, um das Ergebnis anzuzeigen.

Beispiel 3 - Exit-Anweisung in Do While-Schleife

Wir können die Schleife auch verlassen, solange die Bedingung nur noch WAHR ist. Nehmen Sie zum Beispiel auch hier die obigen Daten.

Angenommen , Sie nicht die volle Berechnung tun wollen, aber Sie haben nur die ersten 5 Zeilen Gewinn berechnen müssen, und sobald es die 6 erreicht th Reihe, wollen Sie die Schleife herauszukommen. Dies kann mithilfe der IF-Funktion in Excel erfolgen. Der folgende Code enthält die exit-Anweisung.

Code:

Sub Do_While_Loop_Example3 () Dim k As Long Dim LR As Long k = 2 LR = Zellen (Rows.Count, 1) .End (xlUp) .Row Do While k 6 Beenden Sie Do Cells (k, 3) .Value = Cells ( k, 1) + Zellen (k, 2) k = k + 1 Loop End Sub
"Wenn k> 6, dann beenden Sie Do"

Diese Codezeile leitet den Exit-Prozess ein. Die Schleife läuft weiter, bis der Wert von k 6 erreicht. In dem Moment, in dem sie 6 überschreitet, führt die Bedingung "Exit Do" aus.

Jetzt können Sie diesen Code mit der Tastenkombination F5 oder manuell ausführen, um das Ergebnis anzuzeigen.

Dinge, an die man sich erinnern sollte

  • Tun. Die Schleife arbeitet mit logischen Ergebnissen und führt die Schleife weiter hin und her, während die Testbedingung WAHR ist. Sobald die Testbedingung FALSE zurückgibt, verlässt sie die Schleife.
  • Wir können die Schleife jederzeit verlassen, indem wir mithilfe der IF-Funktion einen weiteren logischen Test innerhalb des Kreises anpassen.
  • Wenn die Bedingung oder der Test oben in der Schleife angegeben ist, wird zuerst der Test überprüft und nur dann fortgesetzt, wenn er WAHR ist.
  • Wenn die Bedingung oder der Test am Ende der Schleife angegeben wird, führt sie zuerst den Codeblock in der Schleifenanweisung aus und testet in Zukunft die Bedingung, um zu entscheiden, ob die Schleife noch einmal ausgeführt werden soll oder nicht.

Interessante Beiträge...