Repite un grupo de sentencias para cada elemento de una matriz o recopilación.
Sintaxis
For Each element In group [statements] [Exit For] [statements] Next
Argumentos:
element: variable utilizada para iterar a través de los elementos de la recopilación o matriz. Para las recopilaciones, element solo puede ser una variable de variante, una variable de objeto genérico o cualquier variable de objeto de automatización específico. Para las matrices, element solo puede ser una variable de variante.
group: nombre de una recopilación o matriz de objetos.
statements: una o más sentencias que se ejecutan en cada elemento del grupo.
Observaciones
El bloque For Each se introduce si hay al menos un elemento en el grupo. Una vez que se ha introducido el bucle, todas las sentencias del bucle se ejecutan para el primer elemento del grupo. Si hay más elementos en el grupo, las sentencias del bucle se siguen ejecutando para cada elemento. Cuando no hay más elementos en el grupo, el bucle se cierra y la ejecución continúa con la sentencia que sigue a la sentencia Next.
La opción Exit For solo se puede utilizar en una estructura de control For Each...Next o For...Next para proporcionar una forma alternativa de salir. Se puede colocar cualquier cantidad de sentencias Exit For en cualquier parte del bucle. La opción Exit For se suele utilizar con la evaluación de una condición (por ejemplo, If...Then) y transfiere el control a la sentencia inmediatamente posterior a Next.
Para anidar los bucles For Each...Next, coloque un bucle For Each...Next dentro de otro. Sin embargo, cada elemento de bucle debe ser único.
Note:
Si omite un elemento en una sentencia Next, la ejecución continúa como si lo hubiera incluido. Si se encuentra una sentencia Next antes de la sentencia For correspondiente, se produce un error.
En el siguiente ejemplo se muestra el uso de la sentencia For Each...Next:
Ejemplo 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