Instrucción For Each...Next

Repite un grupo de instrucciones para cada elemento en una matriz o colección.

Sintaxis

Para cadaelementoengrupo
[ instrucciones ]
[ Exit For ]
[ instrucciones ]
[ elemento ] Next

La sintaxis de la instrucción For...Each...Next consta de estas partes:

Parte Descripción
element Obligatorio. Variable se utiliza para recorrer los elementos de la colección o matriz. Para las colecciones, elemento solo puede ser una variable Variant, una variable de objeto genérico o cualquier variable de objeto específico. Para las matrices, elemento solo puede ser una variable Variant.
grupo Obligatorio. Nombre de una colección de objetos o una matriz (salvo una matriz de tipos definidos por el usuario).
instrucciones Opcional. Una o más instrucciones que se ejecutan en cada elemento de un grupo.

Observaciones

El bloqe For...Each se especifica si hay como mínimo un elemento en el grupo. Una vez que se ha escrito el bucle, se ejecutan todas las instrucciones del bucle para el primer elemento del grupo. Si hay más elementos en el grupo, las instrucciones del bucle continúan ejecutándose para cada elemento. Cuando ya no queda ningún elemento en el grupo, se sale del bucle y la ejecución continúa con la instrucción posterior a la instrucción Next.

Cualquier número de instrucciones Exit For pueden colocarse en cualquier lugar del bucle como forma alternativa para salir. Exit For se utiliza a menudo después de evaluar alguna condición, por ejemplo If... Then, y transfiere el control a la instrucción que viene justo después de Next.

Puede anidar bucles For...Each...Next colocando uno dentro de otro. Sin embargo, cada elemento del bucle debe ser único.

Nota:

Si omite elemento en una instrucción Next, la ejecución continúa como si elemento estuviera incluido. Si se encuentra una instrucción Next antes de su instrucción For correspondiente, se produce un error.

No se puede usar la instrucción For...Each...Next con una matriz de tipos definidos por el usuario porque Variant no puede contener un tipo definido por el usuario.

Ejemplo

Este ejemplo usa la instrucción For...Each...Next para buscar la propiedad Text de todos los elementos de una colección con el fin de encontrar la cadena "Hello". En el ejemplo, MyObject es un objeto relacionado con texto y es un elemento de la colección MyCollection. Ambos son nombres genéricos utilizados únicamente con fines de ilustración.

Dim Found, MyObject, MyCollection 
Found = False    ' Initialize variable. 
For Each MyObject In MyCollection    ' Iterate through each element.  
    If MyObject.Text = "Hello" Then    ' If Text equals "Hello". 
        Found = True    ' Set Found to True. 
        Exit For    ' Exit loop. 
    End If 
Next

Vea también

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.