Um loop For Each...Next é como um loop For...Next. Em vez de repetir as instruções um número especificado de vezes, um loop For Each...Next repete um grupo de instruções para cada item em uma coleção de objetos ou para cada elemento de uma matriz. Isso é especialmente útil quando você não sabe o número de elementos de uma coleção.
Os exemplos a seguir ilustram o uso do loop For Each Next:
Exemplo 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
Exemplo 2:
Sub DisplayArrayItems()
Dim myArray, item
myArray = Array("Apple", "Banana", "Cherry")
For Each item In myArray
'Each element of the array.
Next
End Sub
Exemplo 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