Eine "For Each...Next"-Schleife ähnelt einer "For...Next"-Schleife. Anstatt die Anweisungen so oft wie angegeben zu wiederholen, wiederholt eine "For Each...Next"-Schleife eine Gruppe von Anweisungen für jedes Element in einer Collection von Objekten oder für jedes Element eines Arrays. Das ist besonders hilfreich, wenn Sie nicht wissen, wie viele Elemente in einer Collection enthalten sind.
Die folgenden Beispiele veranschaulichen die Verwendung der "For Each...Next"-Schleife:
Beispiel 1:
Sub DisplayDictionaryItems()
Dim d, item, item1
Set d = CreateObject("Scripting.Dictionary")
d.Add "0", "Athens"
d.Add "1", "Belgrade"
d.Add "2", "Cairo"
For Each item In d.Items
'Will print Items here
Next
End Sub
Beispiel 2:
Sub DisplayArrayItems()
Dim myArray, item
myArray = Array("Apple", "Banana", "Cherry")
For Each item In myArray
'Each element of the array.
Next
End Sub
Beispiel 3:
Sub DisplayCollectionItems()
Dim coll, item
Set coll = CreateObject("Scripting.Dictionary")
coll.Add "A", "Apple"
coll.Add "B", "Banana"
coll.Add "C", "Cherry"
' Corrected iteration to log values
For Each item In coll.Items
'The items will be printed here
Next
End Sub