| For ... Next, Step |
| |
| |
| Sub ForNext1() | |
| Dim a% | |
| For a = 1 To 10 | Ausgabe von 1 bis 10 in zehn MessageBoxen. |
| MsgBox a | Der Ausgabebefehl ist innerhalb der For-Next-Schleife. |
| Next | Würde man den Ausgabebefehl in der MessageBox |
| End Sub | nach Next einordnen, würde die Zahl 11 ausgegeben. |
| |
| |
| Sub ForNext2() | |
| B = 0 | Wert B ist Null. |
| For a = 1 To 100 | Sucht alle Zahlen von 1 bis 100. |
| B = B + a | Addiert B (=0) plus jede A-Zahl je ein Mal. |
| Next a | Springt von Zahl zu Zahl und sucht die nächst größere. |
| Debug.Print B | Gibt das Ergebnis nur ein Mal aus (Ergebnis 5050). |
| End Sub | Stünde der Ausgabebefehl vor Next, würde eine Liste mit |
| Teilsummen ausgegeben. |
| |
| Sub ForNext3() | |
| B = 0 | |
| For a = 1 To 200 | Sucht alle Zahlen von 1 bis 200. |
| B = B + a | Addiert diese. |
| Next a | Beendet die Programmschleife. |
| MsgBox B | Das Ergebnis sieht man in einer MessageBox (= 20100). |
| End Sub | Stünde MsgBox vor Next, würde die MsgBox 20100 mal |
| ausgegeben. |
| |
| Sub ForNext4() | Welches Ergebnis liefert folgendes Programm? |
| Dim i As Byte | |
| |
| For i = 1 To 16 Step 2 | |
| If i < 10 Then | Die Variable i startet mit 1. |
| i = i + 5 | Erste Schleife ergibt 1 + 5 = 6 |
| Else | Zweite Schleife ergibt 6 plus Step 2 plus 5 = 13 |
| Dritte Schleife ergibt 13 plus Step 2 plus 3 = 18 |
| End If | |
| Next i | Nach der dritten Schleife kommt i wieder in den |
| Schleifenkopf. Der Step 2 wird nochmals addiert. |
| MsgBox Str$(i) | Das Endergebnis ist 20. |
| End Sub | |
| | |
| |
| Sub Command1_Click() | Welche Zahlenfolge ergibt sich bei wiederholtem |
| Static z% | Klicken auf die Schaltfläche? |
| z = z + 1 | |
| Form1.Print z, 2 ^ z, 2 ^ z - 1 | Ausgabe in Kolonnen: links immer um eins hochgezählt, |
| in der Mitte verdoppelt sich die Zahl, und rechts |
| verdoppelt sich die Zahl minus eins. |
| Die Potenzierung verlangt einen Double-Wert. |
| |
| |
| |
| |
| |
| |
| |
| |
| . |
| |