For Each...Next (Instrucción)

Visual Basic VBLR

For Each...Next (Instrucción)

       

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

Sintaxis

For Each elemento In grupo [instrucciones]
[Exit For]
[instrucciones]

Next [elemento]

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

Parte Descripción
elemento Requerido. Variable que se utiliza para iterar por los elementos del conjunto o matriz. Para conjuntos, elemento solamente puede ser una variable del tipo Variant, una variable de objeto genérica o cualquier variable de objeto específica. Para matrices, elemento solamente puede ser una variable tipo Variant.
grupo Requerido. Nombre de un conjunto de objetos o de una matriz (excepto una matriz de tipos definidos por el usuario).
instrucciones Opcional. Una o más instrucciones que se ejecutan para cada elemento de un grupo.

Comentarios

La entrada al bloque For Each se produce si hay al menos un elemento en grupo. Una vez que se ha entrado en el bucle, todas las instrucciones en el bucle se ejecutan para el primer elemento en grupo. Después, mientras haya más elementos en grupo, las instrucciones en el bucle continúan ejecutándose para cada elemento. Cuando no hay más elementos en el grupo, se sale del bucle y la ejecución continúa con la instrucción que sigue a la instrucción Next.

Se pueden colocar en el bucle cualquier número de instrucciones Exit For. La instrucción Exit For se utiliza a menudo en la evaluación de alguna condición (por ejemplo, If...Then) y transfiere el control a la instrucción que sigue inmediatamente a la instrucción Next.

Puede anidar bucles For Each...Next, colocando un bucle For Each...Next 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 se hubiera incluido. Si se encuentra una instrucción Next antes de su instrucción For correspondiente, se producirá un error.

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