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.