For...Next-Anweisung
Wiederholt eine Gruppe von Anweisungen , während sich der Schleifenzähler seinem endgültigen Wert nähert.
Syntax
FürZähler=startToend [ Schrittschritt ]
[ statements ]
[ Exit For ]
[ statements ]
Next [ counter ]
Die Syntax der For...Next-Anweisung umfasst die folgenden Teile:
Bestandteil | Beschreibung |
---|---|
counter | Erforderlich. Numerische Variable, die als Schleifenzähler verwendet wird. Die Variable kann kein Boolean- oder array-Element sein. |
start | Erforderlich. Anfangswert von counter. |
end | Erforderlich. Abschließender Wert von counter. |
step | Optional. Wert, um den counter bei jedem Durchlaufen der Schleife geändert wird. Wenn step nicht angegeben ist, gilt der Standardwert 1. |
statements | Optional. Eine oder mehrere Anweisungen zwischen For und Next, die die angegebene Anzahl von Malen ausgeführt werden. |
Hinweise
Das Step-Argument kann entweder positiv oder negativ sein. Der Wert des step-Arguments bestimmt die Schleifenverarbeitung wie folgt.
Wert | Voraussetzung für Schleifenausführung |
---|---|
Positiv oder 0 | Zähler<= Ende |
Negativ | Zähler>= Ende |
Nachdem alle Anweisungen in der Schleife ausgeführt wurden, wird step zum counter hinzugezählt. An dieser Stelle werden die Anweisungen in der Schleife erneut ausgeführt (anhand der gleichen Prüfung, die zur ersten Ausführung der Schleife führte), oder die Schleife wird beendet, und die Ausführung wird mit der Anweisung nach der Next-Anweisung fortgesetzt.
Tipp
Das Ändern des Werts von counter in einer Schleife kann das Lesen und Debuggen des Codes erschweren.
Als Alternative zum Beenden kann an einer beliebigen Position in der Schleife eine beliebige Zahl von Exit For-Anweisungen platziert werden. Exit For wird häufig nach der Auswertung einer Bedingung, z. B. If...Then verwendet, und die Steuerung wird dann an die Anweisung direkt nach Next übertragen.
Sie können For...Next-Schleifen schachteln, indem Sie eine For…Next-Schleife in einer anderen platzieren. Jede Schleife muss einen eindeutigen Variablennamen als counter erhalten. Die folgende Konstruktion ist korrekt:
For I = 1 To 10
For J = 1 To 10
For K = 1 To 10
...
Next K
Next J
Next I
Hinweis
Wenn Sie counter in einer Next-Anweisung auslassen, wird die Ausführung fortgesetzt, als wäre counter vorhanden. Wenn eine Next-Anweisung vor der zugehörigen For-Anweisung angetroffen wird, tritt ein Fehler auf.
Beispiel
Dieses Beispiel verwendet die For...Next-Anweisung, um eine Zeichenfolge zu erstellen, die 10 Instanzen der Zahlen 0 bis 9 enthält, jede Zeichenfolge getrennt von den anderen durch ein einzelnes Leerzeichen. Die äußere Schleife verwendet eine Schleifenzählervariable, die jedes Mal beim Durchlaufen der Schleife verringert wird.
Dim Words, Chars, MyString
For Words = 10 To 1 Step -1 ' Set up 10 repetitions.
For Chars = 0 To 9 ' Set up 10 repetitions.
MyString = MyString & Chars ' Append number to string.
Next Chars ' Increment counter
MyString = MyString & " " ' Append a space.
Next Words
Siehe auch
- Erstellen schnellerer For...Next-Schleifen
- Verwenden von For... Next-Anweisungen
- For Each...Next-Anweisung
- Datentypen
- Anweisungen
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.