For...Next-AnweisungFor...Next statement

Wiederholt eine Gruppe von Anweisungen eine angegebene Anzahl von Malen.Repeats a group of statements a specified number of times.

SyntaxSyntax

For counter = start To end [ Step step ]For counter = start To end [ Step step ]
[ statements ][ statements ]
[ Exit For ][ Exit For ]
[ statements ][ statements ]
Next [ counter ]Next [ counter ]


Die Syntax der For...Next-Anweisung umfasst die folgenden Teile:The For…Next statement syntax has these parts:

TeilPart BeschreibungDescription
countercounter Erforderlich.Required. Numerische Variable, die als Schleifenzähler verwendet wird.Numeric variable used as a loop counter. Die Variable kann kein Boolean- oder array-Element sein.The variable can't be a Boolean or an array element.
startstart Erforderlich.Required. Anfangswert von counter.Initial value of counter.
endend Erforderlich.Required. Abschließender Wert von counter.Final value of counter.
stepstep Optional.Optional. Wert, um den counter bei jedem Durchlaufen der Schleife geändert wird.Amount counter is changed each time through the loop. Wenn step nicht angegeben ist, gilt der Standardwert 1.If not specified, step defaults to one.
statementsstatements Optional.Optional. Eine oder mehrere Anweisungen zwischen For und Next, die die angegebene Anzahl von Malen ausgeführt werden.One or more statements between For and Next that are executed the specified number of times.

HinweiseRemarks

Das step-Argument kann positiv oder negativ sein.The step argument can be either positive or negative. Der Wert des step-Arguments bestimmt die Schleifenverarbeitung wie folgt.The value of the step argument determines loop processing as follows.

WertValue Voraussetzung für SchleifenausführungLoop executes if
Positiv oder 0Positive or 0 counter <= endcounter <= end
NegativNegative counter >= endcounter >= end

Nachdem alle Anweisungen in der Schleife ausgeführt wurden, wird step zu counter hinzugefügt.After all statements in the loop have executed, step is added to counter. 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.At this point, either the statements in the loop execute again (based on the same test that caused the loop to execute initially), or the loop is exited and execution continues with the statement following the Next statement.

Tipp

Das Ändern des Werts von counter in einer Schleife kann das Lesen und Debuggen des Codes erschweren.Changing the value of counter while inside a loop can make it more difficult to read and debug your code.

Als Alternative zum Beenden kann an einer beliebigen Position in der Schleife eine beliebige Zahl von Exit For-Anweisungen platziert werden.Any number of Exit For statements may be placed anywhere in the loop as an alternate way to exit. 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.Exit For is often used after evaluating some condition, for example If...Then, and transfers control to the statement immediately following Next.

Sie können For...Next-Schleifen schachteln, indem Sie eine For…Next-Schleife in einer anderen platzieren.You can nest For...Next loops by placing one For...Next loop within another. Jede Schleife muss einen eindeutigen Variablennamen als counter erhalten.Give each loop a unique variable name as its counter. Die folgende Konstruktion ist korrekt:The following construction is correct:

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 weglassen, wird die Ausführung fortgesetzt, als wäre counter enthalten.If you omit counter in a Next statement, execution continues as if counter is included. Wenn eine Next-Anweisung vor der zugehörigen For-Anweisung angetroffen wird, tritt ein Fehler auf.If a Next statement is encountered before its corresponding For statement, an error occurs.

BeispielExample

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.This example uses the For...Next statement to create a string that contains 10 instances of the numbers 0 through 9, each string separated from the other by a single space. Die äußere Schleife verwendet eine Schleifenzählervariable, die jedes Mal beim Durchlaufen der Schleife verringert wird.The outer loop uses a loop counter variable that is decremented each time through the loop.

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 auchSee also

Support und FeedbackSupport and feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation?Have questions or feedback about Office VBA or this documentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.