Startseite

For To Next - Schleifen

Diese Schleifenart findet immer dann Verwendung, wenn bei der Programmierung bereits feststeht, wie oft die Schleife durchlaufen wird. Es handelt sich dabei um eine sogenannte Zählschleife.

Beispiel 1:

For s = 1 To 12
a(s) = s
Next s

Erläuterung:

In diesem kleinen Beispiel werden der Variable a(s) die Zahlen von 1 bis 12 zugewiesen.

Beispiel 2:

For s = 1 To 12
a = a + s
Next s

Erläuterung:

In diesem kleinen Beispiel werden in der Variable a die Zahlen von 1 bis 12 addiert.
Das Prinzip dieser Schleifenart ist, daß bei jedem Durchlauf von For nach Next der Wert der Zählvariable, (in den Beispielen s), um den Faktor 1 erhöht wird. Ist der Zielwert erreicht, (in den Beipielen 12), wird die Schleife beendet. Ist der Zielwert nicht bekannt, kann man diese Schleifenart nicht verwenden.

Die Step-Anweisung

Mit der Step-Anweisung kann man die Schrittweite beim Abarbeiten der Schleife steuern. Standard ist Step 1, deshalb braucht dieser Wert nicht eingegeben werden. Bei den älteren Versionen von VBA muß man darauf achten, daß der Zielwert auch erreicht werden kann, sonst kommt es zu einer Fehlermeldung. Zum Beispiel kann der Wert 14 in:
For s = 1 To 14 Step 2
nicht erreicht werden, das würde bei Excel 7 noch zu einem Fehler führen.
Es ist auch möglich rückwärts zu zählen, das würde dann etwa so aussehen:
For s = 20 To 1 Step -1

Schleifen verschachteln

Man kann Schleifen auch verschachteln, daß heißt es werden mehrere Schleifen ineinander programmiert. Sie werden dann von innen nach außen abgearbeitet.

Beispiel 3:

Bei diesem Beispiel bin ich davon ausgegangen, daß die Inhalte einer Tabelle mit 10 Spalten und 50 Zeilen in die Variable 'inh' eingelesen werden sollen. Die geschachtelte Schleife beginnt in der ersten Zeile (Variable r steht auf 1) alle Zellinhalte einzulesen. Dabei wird die Variable s auf den Wert 10 hochgezählt. Im nächsten Durchlauf erhöht sich die Variable r auf den Wert 2, das heißt die zweite Zeile wird ausgelesen. Dabei durchläuft die Variable s wieder die Werte von 1 bis 10. Das wird solange duchgeführt, bis die Variable r den Zielwert von 50 erreicht hat.