Freigeben über


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

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.