Mit Bild
Beim Erzeugen einer Reihe aus z.B. 20 Zahlen muss das Bildungsgesetz 20mal hintereinander ausgeführt werden. So eine Lösung müssen Sie nun nicht 20mal hintereinander schreiben. Das hat nun gar nichts mit Programmieren zu tun, denn das wäre total ineffektiv. Die Prozedur benötigte den 20fachen Speicherplatz pro Berechnung und ist total starr. Was ist, wenn demnächst 100mal gerechnet werden muss? So ein Problem lösen Sie mit einer Schleife. Im Beispiel des zweiten Kursteils wurde dieser Block bereits vorgestellt.
Mit Bild
Ganz = Eingabewert
Worksheets("Tabelle1"). _
Range("E3").Value = Ganz
For I = 1 To 20 ' Anfangsklausel
Worksheets("Tabelle1"). _
Cells(4 + I, 4).Value = Ganz
Worksheets("Tabelle1").Cells(4 + I, 6). _
Value = I * Ganz
NextMit Bild
Einfache Iteration
Mit Bild
In der Anfangsklausel (auch For-Klausel genannt) wird eine Zählvariable angegeben und mit einem Startwert versehen. Genauso muss ein Endwert angegeben werden. Die notwendige Schrittweite kann standardmäßig bei 1 weggelassen werden. Nach jedem Durchlauf des Anweisungsblockes 1 wird die Zählvariable um die Schrittweite erhöht (bzw. bei negativer Schrittweite vermindert) und mit dem Endwert verglichen. Ist der Endwert überschritten, wird die Schleife verlassen.
Mit Bild
Schleifen können auch geschachtelt werden, wie Sie im folgenden Beispiel im Modul Zyklen Prozedur auswertung sehen.
Mit Bild
' Mit Spalte B beginnen
For Spalte = 2 To 7
'Die ausgewählte Spalte wird
'beginnend mit Zeile 4 ausgewertet
For Zeile = 4 To 12
If Worksheets("Tabelle1"). _
Cells(Zeile, Spalte) <> 0 Then
Aktuell = Worksheets("Tabelle1"). _
Cells(Zeile, Spalte) / _
Worksheets("Tabelle1"). _
Cells(3, Spalte) ' Preis pro Einheit
If Ergebnis >= Aktuell Then
Ergebnis = Aktuell
ErgZeile = Zeile
ErgSpalte = Spalte
End If
End If
Next Zeile
Next Spalte