Anweisung For...Next
Wiederholt die Anweisungen innerhalb des Blocks For...Next für eine bestimmte Anzahl von Durchläufen.
Syntax:
For Zähler=Anfang To Ende [Step Schritt]
Befehlsblock
[Exit For]
Befehlsblock
Next [counter]
Variablen:
Zähler: Schleifenzähler, dem zunächst der Wert rechts neben dem Gleichheitszeichen (Anfang) zugewiesen wird. Es sind nur numerische Variablen zulässig. Der Schleifenzähler wird entsprechend der Variable "Schritt" erhöht oder verringert, bis der Wert "Ende" durchlaufen wurde.
Anfang: Numerische Variable, die den Anfangswert zu Beginn der Schleife festlegt.
Ende: Numerische Variable, die den Endwert zum Schluss der Schleife festlegt.
Schritt: Legt den Wert fest, um den der Schleifenzähler bei jedem Durchlauf erhöht oder verringert werden soll. Wird "Schritt" nicht angegeben, so wird der Schleifenzähler um 1 erhöht. In diesem Fall muss "Ende" größer sein als "Anfang". Um "Zähler" herunterzuzählen, muss "Ende" kleiner als "Anfang" sein, und "Schritt" muss ein negativer Wert zugewiesen werden.
Die Schleife For...Next wiederholt alle Anweisungen innerhalb der Schleife so oft, wie es in den Parametern angegeben ist.
Bei jeder Verringerung der Zählervariable prüft Collabora Office Basic, ob der Endwert erreicht ist. Sobald der Zähler den Endwert durchläuft, wird die Schleife automatisch beendet.
Sie können Anweisungen For...Next verschachteln. Wenn Sie nach der Anweisung Next keine Variable angeben, bezieht sich Next automatisch auf die letzte vorhergehende Anweisung For.
Bestimmen Sie eine Schrittweite von 0, dann werden die Anweisungen zwischen For und Next endlos ausgeführt.
Beim Hoch- beziehungsweise Herunterzählen der Zählervariablen prüft Collabora Office Basic auf Überlauf und Unterlauf. Die Schleife wird beendet, wenn "Zähler" größer als "Ende" (positiver Schrittwert) beziehungsweise kleiner als "Ende" (negativer Schrittwert) ist.
Um die Schleife bedingungslos zu verlassen, verwenden Sie die Anweisung Exit For. Diese Anweisung muss in einer Schleife For...Next stehen. Verwenden Sie wie folgt die Anweisung If...Then, um die Ausstiegsbedingung zu prüfen:
For...
Befehle
If Bedingung = True Then Exit For
Befehle
Next
Hinweis für die Verschachtelung von Schleifen For...Next: Beim unbedingten Verlassen einer Schleife durch Exit For wird grundsätzlich nur eine Schleife beendet.
Beispiel
Das folgende Beispiel nutzt zwei ineinander verschachtelte Schleifen, um ein Zeichenketten-Array mit 10 Elementen ( sEntry() ), die zunächst mit verschiedenen Namen vorbelegt werden, zu sortieren:
Sub ExampleSort
Dim sEntry(9) As String
Dim iCount As Integer
Dim iCount2 As Integer
Dim sTemp As String
sEintrag(0) = "Jerry"
sEintrag(1) = "Patty"
sEintrag(2) = "Kurt"
sEintrag(3) = "Thomas"
sEintrag(4) = "Michael"
sEintrag(5) = "David"
sEintrag(6) = "Cathy"
sEintrag(7) = "Susie"
sEintrag(8) = "Edward"
sEintrag(9) = "Christine"
For iCount = 0 To 9
For iCount2 = iCount + 1 To 9
If sEntry(iCount) > sEntry(iCount2) Then
sTemp = sEntry(iCount)
sEntry(iCount) = sEntry(iCount2)
sEntry(iCount2) = sTemp
End If
Next iCount2
Next iCount
For iCount = 0 To 9
Print sEntry(iCount)
Next iCount
End Sub