Excel VBA Do While-Schleife
Do While Loop bedeutet, etwas zu tun, während die Bedingung TRUE ist. Es ist wie eine logische Funktion, die auf TRUE oder FALSE basiert. Wenn die Bedingung TRUE ist, wird die Anweisung in der Schleife weiter ausgeführt. Wenn die Bedingung FALSE ist, wird die Do While-Anweisung sofort beendet. Die Arbeitsweise von VBA Do While Loop ist in der folgenden Abbildung dargestellt.
Syntax der Do While-Schleife in VBA Excel
Do While Loop hat in Excel VBA zwei Arten von Syntax.
Beide sehen sich sehr ähnlich und es gibt eine einfache Unterscheidung in ihnen.
In der ersten Syntax prüft die „Do While“ -Schleife zuerst die Bedingung und gibt das Bedingungsergebnis als WAHR oder FALSCH aus. Wenn die Bedingung TRUE ist, wird der Code ausgeführt und eine bestimmte Aufgabe ausgeführt. Wenn die Bedingung FALSE ist, wird die Schleife verlassen.
In der zweiten Syntax führt die "Do" -Schleife zuerst den Code aus und prüft dann, ob die Bedingung WAHR oder FALSCH ist. Wenn die Bedingung WAHR ist, kehrt sie zurück und führt dieselbe Aufgabe aus. Wenn die Bedingung FALSE ist, wird die Schleife sofort verlassen.
Beispiel für eine Excel VBA Do While-Schleife
Wenn Sie im theoretischen Teil nichts verstanden haben, brauchen Sie sich keine Sorgen zu machen. Ich werde Ihnen die einfachen Beispiele erklären, um ein angemessenes Wissen über diese Schleife zu haben.
Sie können diese Excel-Vorlage für VBA Do While-Schleifen hier herunterladen - Excel-Vorlage für VBA Do While-SchleifenNun führen wir die Aufgabe aus, die ersten 10 Seriennummern von Zelle A1 bis A10 einzufügen. Befolgen Sie die folgenden Schritte, um die „Do While“ -Schleife anzuwenden.
Schritt 1:
Erstellen Sie zuerst einen Makronamen.
Code:
Sub Do_While_Loop_Example1 () End Sub
Schritt 2:
Definieren Sie eine Variable als "Long". Ich habe "k" als langen Datentyp definiert.
Code:
Sub Do_While_Loop_Example1 () Dim k As Long End Sub
Schritt 3:
Geben Sie nun das Wort "Do While" ein. Geben Sie nach dem Start des Schleifennamens die Bedingung "k <= 10" ein.
Code:
Sub Do_While_Loop_Example1 () Dim k So lange Do While k <= 10 End Sub
Schritt 4:
Mit der Eigenschaft CELLS können jetzt Seriennummern eingefügt werden.
Code:
Sub Do_While_Loop_Example1 () Dim k So lange Do While k <= 10 Zellen (k, 1) .Value = k End Sub
Hinweis: Hier beginnt die Variable „k“ bei 1, daher ist der Wert von k zunächst gleich 1. Überall dort, wo „k“ ist, ist er gleich 1.
Schritt 5:
Schließen Sie nun die Schleife, indem Sie das Wort „LOOP“ eingeben.
Code:
Sub Do_While_Loop_Example1 () Dim k So lange Do While k <= 10 Zellen (k, 1) .Value = k Loop End Sub
Ok, wir sind fertig. Zum besseren Verständnis können Sie diesen Code einzeln testen, indem Sie einmal die Taste F8 drücken.
Drücken Sie zuerst die Taste F8, um den Makronamen gelb hervorzuheben.
Wenn Sie jetzt noch einmal die Taste F8 drücken, wird zu Do While Loop gesprungen. Stellen Sie den Cursor auf "k" und sehen Sie, wie hoch der Wert ist.
Also ist K = 0. Der Grund, warum “k” jetzt gleich Null ist, weil hier nicht begonnen wird, eine Schleife auszuführen. Drücken Sie noch einmal F8 und sehen Sie, wie hoch der Wert ist.
Trotzdem ist der k-Wert Null. Ok, lassen Sie uns jetzt eine Sache tun, die Ausführung des Makros stoppen und den Wert von "k" als 1 zuweisen, bevor die Schleife startet.
Weisen Sie nun innerhalb der Schleife den k-Wert als k = k + 1 zu.
Starten Sie nun die zeilenweise Ausführung des Codes mit der Taste F8. Starten Sie das Drücken von F8 und sehen Sie, wie hoch der Wert ist, wenn die "Do While" -Schleife ausgeführt wird.
Code:
Sub Do_While_Loop_Example1 ()
Dim k As Long
k = 1
Do While k <= 10
Zellen (k, 1) .Wert = k
k = k + 1
Schleife
End Sub
Der Wert von "k" ist also gleich 1. Wo immer "k" ist, ist er gleich dem Wert von 1. Also die Codezeile Cells (k, 1). Wert = k ist gleich:
Zellen (1, 1) .Wert = 1, dh der Wert für Zeile 1 und Spalte 1 (A1-Zelle) ist gleich 1.
Drücken Sie die Taste F8 und führen Sie die Aktion innerhalb der Schleife aus.
Betrachten Sie nun den Wert in Zelle A1.
Wir haben also den Wert 1 in Zelle A1 erhalten.
Führen Sie nun die nächste Zeile aus, indem Sie die Taste F8 drücken und sehen Sie, wie hoch der Wert von „k“ ist.
Jetzt ist der k-Wert also gleich 2. Wo also k ist, ist er gleich 2.
Drücken Sie die Taste F8. Nun kehrt der Code zurück, um den Wert von k zu testen.
Drücken Sie nun noch zweimal die Taste F8 und sehen Sie, wie hoch der Wert in Zelle A2 ist.
So führt Do While Loop die Aufgabe des Einfügens von Seriennummern so lange aus, bis der Wert von k 11 erreicht. Jetzt habe ich bereits zeilenweise ausgeführt, bis der Wert von k 10 wird.
Wenn ich jetzt noch einmal die Taste F8 drücke, wird die Bedingung erneut geprüft, die Codezeile jedoch nicht ausgeführt, da der k-Wert jetzt mehr als 10 beträgt.
Wenn ich die Taste F8 drücke, wird die Schleife sofort verlassen und zu End Sub gewechselt.
Die endgültige Ausgabe wird wie folgt angegeben.
Auf diese Weise kann die VBA Do While-Schleife verwendet werden, um dieselben Aufgaben auszuführen, bis die angegebene Bedingung WAHR ist.
Dinge, an die man sich erinnern sollte
- VBA Do While Loop führt die Aufgabe aus, bis die Bedingung TRUE ist.
- Wir können die Bedingung auch am Anfang der Schleife oder auch am Ende der Schleife testen.
- Die Bewegungsbedingung ist FALSE. Sie verlässt die Schleife und führt die Aufgabe nicht aus.
Empfohlene Artikel
Dies war ein Leitfaden für VBA Do While Loop. Hier haben wir die Verwendung von Excel VBA Do While Loop zusammen mit einigen praktischen Beispielen und einer herunterladbaren Excel-Vorlage besprochen. Sie können auch unsere anderen Artikelvorschläge durchgehen -
- Wie verwende ich die FIND-Funktion in Excel?
- Methoden zur Verwendung der VBA-Funktion in Excel
- Möglichkeiten zur Verwendung der VBA-Funktion in Excel
- Wie benutze ich die VBA VLOOKUP-Funktion?