Un bucle For Each...Next es como un bucle For...Next. En lugar de repetir las sentencias un número especificado de veces, un bucle For Each...Next repite un grupo de sentencias para cada elemento de una recopilación de objetos o para cada elemento de una matriz. Esto es especialmente útil si no sabe cuántos elementos hay en una recopilación.
En los siguientes ejemplos se muestra el uso del bucle For Each...Next:
Ejemplo 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
Ejemplo 2:
Sub DisplayArrayItems()
Dim myArray, item
myArray = Array("Apple", "Banana", "Cherry")
For Each item In myArray
'Each element of the array.
Next
End Sub
Ejemplo 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