Bueno continuando con el tutorial de For Each...Next les presentaré como se conforma el cuerpo de un For Each...Next, bueno la estructura es la siguiente :
For Each element [ As datatype ] In group [ statements ] [ Exit For ] [ statements ] Next [ element ]
Partes
- element
- Se requiere en la instrucción For Each. Es opcional en la instrucción Next. Variable. Se utiliza para recorrer en iteración los elementos de la colección.
- datatype
- Es obligatorio, a menos que element no se haya declarado ya. Tipo de datos de element.
- group
- Obligatorio. Variable de objeto. Hace referencia a la colección sobre la que se debe repetir la ejecución destatements.
- statements
- Opcional. Una o más instrucciones entre For Each y Next que se ejecutan en cada elemento de group.
- Exit For
- Opcional. Transfiere el control fuera del bucle For Each.
- Next
- Obligatorio. Termina la definición del bucle For Each.
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 elcontrol 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. Sinembargo, 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, seproducirá un error.No se puede utilizar la instrucción For Each...Next con una matriz de tipos definidos por el usuarioporque un tipo Variant no puede contener un tipo definido por el usuario
EJEMPLO:
En el siguiente ejemplo creamos un objeto llamado Nombres. En este agregamos tres nombres yluego, leemos cada nombre almacenado utilizando un bucle For Each…Next.
Dim Nombre as New Collection ' Creamos un objeto. Dim Leido as Variant 'Variable donde se almacenarán los elementos leidos 'Agregamos datos a la colección. Nombres.Add "Carlos" Nombres.Add "Pablo" Nombres.Add "Jose" 'Leemos cada uno de los elementos agregados. For Each Leido In Nombres MsgBox(Leido) ' Mostramos los elementos leidos en un mensaje. NextBueno pues por el momento ha sido todo, esperen el próximo tutorial While instrucción. A una cosa más no olviden que pueden descargar algunos códigos en la pestaña de descargas.