VBA-Programmierung in Microsoft Excel

Tutorial: Excel-Beispiele

VBA-Begriff: For...Next-Anweisung

Wiederholt eine Gruppe von Anweisungen so oft wie angegeben.

Syntax

For Zähler = Anfang To Ende [Step Schritt]
[Anweisungen]
[Exit For]
[Anweisungen]

Next [Zähler]

Die Syntax für die For…Next-Anweisung besteht aus folgenden Teilen:

Teil Beschreibung
Zähler Erforderlich. Numerische Variable, die als Schleifenzähler dient. Eine boolesche Variable oder ein Element eines Datenfeldes ist nicht zulässig.
Anfang Erforderlich. Startwert von Zähler.
Ende Erforderlich. Endwert von Zähler.
Schritt Optional. Betrag, um den Zähler bei jedem Schleifendurchlauf verändert wird. Falls kein Wert angegeben wird, ist die Voreinstellung für Schritt eins.
Anweisungen Optional. Eine oder mehrere Anweisungen zwischen For und Next, die so oft wie angegeben ausgeführt werden.

Bemerkungen

Das Argument Schritt ist entweder positiv oder negativ. Der Wert des Arguments Schritt legt die Schleifenausführung folgendermaßen fest:

Wert Schleifenausführung, wenn
Positiv oder 0 Zähler <= Ende
Negativ Zähler >= Ende

Nachdem alle Anweisungen in der Schleife ausgeführt wurden, addiert das Programm Schritt zum Wert von Zähler hinzu. Die Anweisungen in der Schleife werden dann entweder erneut ausgeführt (aufgrund desselben Tests, der auch zu Beginn des ersten Durchlaufs durchgeführt wurde), oder das Programm beendet die Schleife und setzt die Ausführung mit der auf die Next-Anweisung folgenden Anweisung fort.

Tip°°°Das Ändern des Wertes von Zähler innerhalb einer Schleife kann zur Folge haben, daß der Code komplizierter und schwerer zu testen wird.

Innerhalb einer Schleife kann eine beliebige Anzahl von Exit For-Anweisungen an beliebiger Stelle als alternative Möglichkeit zum Verlassen der Schleife verwendet werden. Exit For wird oft in Zusammenhang mit der Auswertung einer Bedingung (zum Beispiel If...Then) eingesetzt und überträgt die Steuerung an die unmittelbar auf Next folgende Anweisung.

Sie können For...Next-Schleifen verschachteln, indem Sie eine For...Next-Schleife innerhalb einer anderen verwenden. Das Argument Zähler muß für jede Schleife einen eindeutigen Variablennamen 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

Anmerkung°°°Wenn Sie Zähler in einer Next-Anweisung nicht angeben, wird die Ausführung trotzdem so fortgesetzt, als ob Zähler enthalten wäre. Eine Next-Anweisung vor der zugehörigen For-Anweisung führt zu einem Fehler.