Startseite

For Each Next-Schleife

Nicht nur der Vollständigkeit halber, möchte ich auch noch die For Each Next-Schleife vorstellen. Sie ist eine besondere Art der Zählschleife, die es meines Wissens nur in VBA gibt. Bei dieser Art Schleife ermittelt VBA selbst den Start- und Endwert.

Beispiel 1:

Sub Beispiel_For_Each_Next()
Dim Blatt As Object
For Each Blatt In ActiveWorkbook.Sheets
    z = z + 1
    Cells(z, 1) = Blatt.Name
Next Blatt
End Sub

Erläuterung:

Mit dieser kleine Routine werden die Namen der Tabellenblätter der aktiven Arbeitsmappe ausgelesen und im aktiven Tabellenblatt angezeigt.

Beispiel 2:

Private Sub UserForm_Initialize()
Dim AM As Object
For Each AM In Application.Workbooks
    With ComboBox1
        .AddItem AM.Name
    End With
Next AM
End Sub

Erläuterung:

Dieses Makro liest die Namen der geöffneten Excelarbeitsmappen in die ComboBox1 ein. Dieser Vorgang findet beim Initialisieren des Userform statt.