¿Cómo usar para cada bucle en Excel VBA?

Un bucle For Each se usa para ejecutar una declaración o un conjunto de declaraciones para cada elemento en una array o colección.

Sintaxis:

For Each element In group
[ statements ]
[ Exit For ]
[ statements ]
Next [ element ]

La sintaxis de la sentencia For…Each…Next consta de las tres partes siguientes:

Parte Descripción
elemento                                     Requerido (Debe mencionarse). La variable se utiliza para iterar a través de los elementos de la colección o array. Para las colecciones, el elemento solo puede ser una variable Variant, una variable de objeto genérico o cualquier variable de objeto específica. Para arrays, el elemento solo puede ser una variable Variant.
grupo Requerido (Debe mencionarse). Nombre de una colección o array de objetos (excepto una array de tipos definidos por el usuario).
declaración Opcional (puede o no mencionarse). Se ejecutan una o más sentencias en cada elemento del grupo.

Hay 4 pasos básicos para escribir un For Each Next Loop en VBA:

  • Declarar una variable.
  • Escriba For Each Line con la variable y las referencias de colección.
  • Agregue líneas de código para repetir para cada elemento de la colección.
  • Escriba la línea Siguiente para terminar el ciclo.

El bloque For…Each se ingresa si hay al menos un elemento en el grupo. Al ingresar al ciclo, todas las declaraciones en el ciclo se ejecutan para cada elemento. Cuando no hay más elementos en el grupo, se sale del ciclo y la ejecución continúa con la instrucción que sigue a la instrucción Siguiente. La siguiente línea de instrucción finaliza el ciclo.

Se puede colocar cualquier cantidad de instrucciones Exit For en cualquier lugar del ciclo como una forma alternativa de salir. Exit For se usa a menudo después de evaluar alguna condición, por ejemplo, If…Then, y transfiere el control a la instrucción que sigue inmediatamente a Next.

También puede anidar bucles For…Each…Next colocando un bucle For…Each…Next dentro de otro. Sin embargo, cada elemento del bucle debe ser único a su manera.

NOTA

  • La ejecución continúa como si el elemento estuviera incluido, si omite el elemento en una instrucción Siguiente.
  • Ocurre un error, si se encuentra una instrucción Next antes de su instrucción For correspondiente,

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

Ejemplo 1

  Sub Demo_Loop privado()

        los estudiantes es una array

       estudiantes = Array(“Akshit”, “Nikita”, “Ritesh”) //Inicializando Array-> estudiantes

      Dim studentnames As Variant // Se asigna la variable

     ‘iterando usando For each loop.

      Para cada artículo en estudiantes

     nombres de estudiantes = nombres de estudiantes & Item & Chr(10)

    próximo

       Nombres de estudiantes de MsgBox

Finalizar sub

Se vería algo así como a continuación:

Cuando se ejecuta el código anterior, imprime todos los nombres de los estudiantes con un elemento en cada línea.

Publicación traducida automáticamente

Artículo escrito por akshitsaxenaa09 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *