Repete um grupo de instruções para cada elemento em uma matriz ou coleção.
Sintaxe
For Each element In group [statements] [Exit For] [statements] Next
Argumentos:
element: Variável usada para iterar os elementos da coleção ou da matriz. Para coleções, o elemento só pode ser uma variável Variante, uma variável Objeto genérica ou qualquer variável de objeto de Automação específica. Para matrizes, o elemento só pode ser uma variável Variante.
group: Nome de uma matriz ou coleção de objetos.
statements: Uma ou mais instruções executadas em cada item no grupo.
Comentários
O bloco For Each será inserido se houver pelo menos um elemento no grupo. Depois que o loop tiver sido inserido, todas as instruções no loop serão executadas para o primeiro elemento no grupo. Se houver mais elementos em grupo, as instruções no loop continuarão a ser executadas para cada elemento. Quando não houver mais elementos no grupo, o loop será encerrado e a execução continuará com a instrução que sucede a instrução Next.
A instrução Exit For só pode ser usada em uma estrutura de controle For Each...Next ou For...Next para fornecer uma maneira alternativa de saída. É possível incluir qualquer número de instruções Exit For em qualquer parte do loop. A instrução Exit For geralmente é usada com a avaliação de alguma condição (por exemplo, If...Then) e transfere o controle para a instrução que sucede a instrução Next.
Você pode aninhar os loops For Each...Next colocando um loop For Each...Next dentro de outro. No entanto, cada elemento de loop deve ser exclusivo.
Note:
Se você omitir o elemento em uma instrução Next, a execução continuará como se você o tivesse incluído. Se for encontrada uma instrução Next antes da instrução For correspondente, ocorrerá um erro.
O exemplo a seguir ilustra o uso da instrução For Each...Next:
Exemplo 1:
Dim fruits(2)
fruits(0) = "Apple"
fruits(1) = "Banana"
fruits(2) = "Cherry"
For Each fruit In fruits
' Variable fruit denotes each element in fruits array
Next