VBA - Para Cada Loops

UMA For Each loop é usado para executar uma instrução ou um grupo de instruções para cada elemento em uma matriz ou coleção.

A For each loop é semelhante a For Loop; entretanto, o loop é executado para cada elemento em uma matriz ou grupo. Portanto, o contador de passos não existirá neste tipo de loop. É usado principalmente com arrays ou no contexto dos objetos do sistema de arquivos para operar recursivamente.

Sintaxe

A seguir está a sintaxe de um For Each loop em VBA.

For Each element In Group
   [statement 1]
   [statement 2]
   ....
   [statement n]
   [Exit For]
   [statement 11]
   [statement 22]
Next

Exemplo

Private Sub Constant_demo_Click()  
   'fruits is an array
   fruits = Array("apple", "orange", "cherries")
   Dim fruitnames As Variant
 
   'iterating using For each loop.
   For Each Item In fruits
      fruitnames = fruitnames & Item & Chr(10)
   Next
   
   MsgBox fruitnames
End Sub

Quando o código acima é executado, ele imprime todos os nomes das frutas com um item em cada linha.

apple
orange
cherries