Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
Wenn Sie in VBA einen Vorgang mehr als einmal durchführen möchten, verwenden Sie dazu eine sogenannte Schleife. Davon gibt es verschiedene Arten: Eine wird entsprechend einer vorgegebenen Anzahl durchlaufen, andere bis zum Eintreten einer bestimmten Bedingung. Dieser Artikel stellt die verschiedenen Schleifenarten vor.
Schleifen
Grundsätzlich sind Schleifen Code-Konstrukte und ähneln vom Aufbau her den VBA-Routinen. Sie besitzen einen Schleifenkopf und eine abschließende Anweisung, die allerdings in diesem Fall nur das Ende eines Durchlaufs der Anweisungen innerhalb der Schleife bedeutet.
Beispiele
Die Beispiele dieses Artikels finden Sie im Modul mdlSchleifen der Beispieldatenbank Access_Basics_2011_04.mdb.
For…Next-Schleife
Die For…Next-Schleife zeichnet sich dadurch aus, dass zu Beginn festgelegt wird, wie oft die enthaltenen Anweisungen durchlaufen werden.
Um nachzuhalten, wie oft die Anweisungen innerhalb der Schleife bereits durchlaufen wurden, wird eine sogenannte Laufvariable verwendet, die meistens i genannt wird.
Die erste Zeile der For…Next-Schleife enthält außerdem noch den ersten und den letzten Wert sowie gegebenfalls eine Schrittweite. Die Standardschrittweite lautet 1. Man gibt nur in Ausnahmefällen eine alternative Schrittweite an – dazu später mehr.
Die letzte Zeile einer For…Next-Schleife enthält lediglich das Next-Schlüsselwort und optional den Namen der Laufvariable (dies dient ausschließlich der übersicht). Insgesamt sieht eine For…Next-Schleife, die beispielsweise mit den Werten von 1 bis 10 für die Variable i durchlaufen werden soll, wie folgt aus:
Dim i As Integer For i = 1 To 10 Debug.Print i Next i
Innerhalb der For…Next-Schleife wird der Wert von i im Direktfenster ausgeben. Dort erscheinen beim Aufrufen der Prozedur ForNext_I des Moduls mdlSchleifen der Beispieldatenbank also die Zahlen von 1 bis 10. Der Ablauf der For…Next-Schleife wird auch vom Flussdiagramm in Bild 1 skizziert. Die Schleife startet mit dem Wert 1 für die Variable i.
Bild 1: Flussdiagramm für eine For…Next-Schleife
Enthält i einen Wert kleiner oder gleich dem Endwert der Schleife, werden die Anweisungen des Schleifenkörpers ausgeführt und i um eins erhöht.
Monate ausgeben
Die Laufvariable können Sie gleich sinnvoll nutzen. Das folgende Beispiel durchläuft etwa die Zahlen von 1 bis 12 und gibt die entsprechenden Monatsnamen aus:
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
Testzugang
eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel
diesen und alle anderen Artikel mit dem Jahresabo