Instrução For Each … Next

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