Microsoft Office Tutorials and References
In Depth Information
19.9.7 Kontrollstrukturen: Schleifen
keit vom Monat des Datums eine Textvariable, die zum
Schluss in einer Meldung ausgegeben wird:
Sub Rundenzähler()
Dim i As Integer
For i = 1 To 20 Step 1
Beep
MsgBox "Runde: " & i
Next i
End Sub
Sub CaseTest()
Dim zellinhalt
zelldatum = ActiveCell.Value
If Not IsDate(zelldatum) Then Exit Sub
Select Case Month(zelldatum)
Case 1 To 2
mtext = "Winter"
Case 3, 4, 5
mtext = "Frühling"
Case 6 To 7
mtext = "Sommer"
Case 8
mtext = "Hochsommer"
Case 9 To 11
mtext = "Herbst"
Case 12
mtext = "Winter"
End Select
ok = MsgBox(mtext, vbInformation, "Jahreszeit")
End Sub
Listing 19.27 Makro: Rundenzähler
Die Angabe Step kann auch wegfallen, wenn die
Schrittweite 1 fist. Step kann aber auch rückwärts zählen, z.B.
mit –1 um je eine Stelle. Das setzt natürlich voraus, dass
der Anfangswert höher fist als der Endwert.
Die Do-Schleife
Die gleiche Aufgabe lässt sich auch mit einer Schleife
lösen, die mit Do While beginnt und mit Loop endet.
Innerhalb dieser Schleife werden alle Aktionen nur so
lange ausgeführt, bis die zum Schleifenbeginn formulierte
Bedingung erfüllt fist.
Do While i 20
i = i + 1
MsgBox "Runde: " & i
Loop
Listing 19.26 Makro zum Testen der Select Case-Funktion
19.9.7 Kontrollstrukturen: Schleifen
Schleifen brauchen Sie in der Makroprogrammierung,
um wiederkehrende Aktionen zu produzieren. Die
Anzahl der Wiederholungen kann dabei abhängig sein von
einer Bedingung, die erfüllt sein muss, damit die
Schleife beendet wird, oder einfach von einem Zähler, der
vorgibt, wie oft die Schleife zu laufen hat.
Die For...Each-Schleife
Eine besonders nützliche Schleifenanweisung für
Makros, die mit Tabellenbereichen oder Listenobjekten zu
tun haben, fist die For...Each -Schleife. In dieser
Schleifenart wird weder ein Schleifenzähler noch eine
Bedingung benötigt. Die Schleife läuft so lange, bis alle
Elemente eines Bereiches, alle Zellen einer Markierung
oder alle Blätter einer Arbeitsmappe abgearbeitet sind.
For Each i In Selection
MsgBox i.Value
Next
Die Zählschleife (For...Next-Schleife)
Stellen Sie sich diese Schleife wie den Rundenzähler
einer Autorennbahn vor: Der Anfang fist die Runde 1,
das Ende fist durch die Anzahl der Runden festgelegt.
Bei jedem Durchgang wird der Zähler um die
Schrittweite (auch 1) erhöht. Die Schleife läuft so lange, bis der
Schleifenzähler den Endwert erreicht hat:
Beispiel: Lottozahlen
Das Beispiel finden Sie auf der Buch-CD
unter Lottozahlengenerator.xlsm .
CD-ROM
Mit diesem Programm berechnen Sie endlich den absolut
sicheren Lottozahlentipp fürs Wochenende: Der
Lottozahlengenerator berechnet per Zufallszahl sechs Zahlen;
eine Datenfeldvariable und eine If -Anweisung sorgen
dafür, dass keine doppelten Zahlen vorkommen können.
 
Search JabSto ::




Custom Search