Informatik :: VBA :: Schleifen
[Allgemeines] | [For-Schleife] | [While-Schleife] | [Do-Schleife] | [Aufgaben] |
Erklärung:
Da durch die Festlegung von Anfangswert AW, Schrittweite SW und dem Endwert EW genau feststeht, wie oft die Schleife durchlaufen wird, nennt man die For-Schleife auch Zählschleife.
Man verwendet sie, wenn man genau weiß, wie oft die Schleife durchlaufen werden soll. |
Struktogramm: |
Syntax: |
|
Beispiel:
Dim zeile As Integer
Dim i As Single
For i = 100 To 120 Step 0.5
zeile = 2 * i - 199 'Berechnung der Zeilennummer aus i (Beginn bei 1. Zeile)
Cells(zeile, 1).Value = i 'Ausgabe der Werte von i in der 1. Spalte
Cells(zeile, 2).Value = i ^ 0.5 'Ausgabe der Werte von Wurzel(i) in der 2. Spalte
Next i
Erklärung:
Da die Schleifenbedingung vor dem ersten Schleifendurchlauf geprüft wird, nennt man die While-Schleife auch kopfgesteuerte Schleife.
Da es sein kann, dass die Schleifenbedingung bei der ersten Prüfung schon falsch ist und somit die Schleife abgewiesen wird, nennt man die While-Schleife auch abweisende Schleife. Man verwendet sie, wenn die Schleife eventuell überhaupt nicht durchlaufen werden soll. |
Struktogramm: |
Syntax: |
|
Beispiel:
Dim x As Single
x = InputBox("Geben Sie eine beliebige Zahl kleiner 100 ein!")
Do While x < 100
MsgBox ("x = " & x)
x = x ^ 2
Loop
Angenommen es wird die Zahl 0,3 eingegeben:
Da 0.3 < 100 eine wahre Aussage ist, wird die Schleife das erste mal durchlaufen. Das heißt, es wird x = 0.3 ausgegeben und anschließend x = 0.09 gesetzt.
Da 0.09 < 100 eine wahre Aussage ist, wird die Schleife das zweite mal durchlaufen. Das heißt, es wird x = 0.09 ausgegeben und anschließend x = 0.0081 gesetzt.
Wie du sicher gemerkt hast, wird x bei jedem Schleifendurchlauf kleiner, wird also nie größer 100 werden. Die Schleifenabarbeitung ist nie zu Ende!!!
Erklärung:
Da die Schleifenbedingung nach dem ersten Schleifendurchlauf geprüft wird, nennt man die Do-Schleife auch fußgesteuerte Schleife.
Da es nicht sein kann, dass die Schleifenabarbeitung beim ersten mal abgewiesen wird, nennt man die Do-Schleife auch nicht abweisende Schleife. Man verwendet sie, wenn die Schleife wenistens ein mal durchlaufen werden soll. Dies ist in der Praxis bei Eingabe eines ganz bestimmten Wertes erforderlich, also z.B. bei Passworteingaben. |
Struktogramm: |
Syntax: |
|
Beispiel:
Dim pw As String
Do
pw = InputBox("Geben Sie das Passwort ein!")
Loop While pw <> "x2y9z"