VBA para el siguiente - Guía para usar Excel VBA para la próxima declaración

Excel VBA para el siguiente ciclo

El bucle VBA For Next es un bucle que se usa entre todos los lenguajes de programación, en este bucle hay un criterio después de la declaración for para el cual el código se repite en el bucle hasta que se alcanza el criterio y cuando se alcanza el criterio, la siguiente declaración dirige el procedimiento al siguiente paso del código.

El bucle “For Next” es uno de esos bucles que se usa con mucha frecuencia que otros bucles en la codificación VBA. Los bucles nos ayudarán a repetir el mismo tipo de tarea para celdas específicas hasta que la condición sea VERDADERA.

FOR LOOP recorre el rango de celdas y realiza una tarea específica hasta que la condición es VERDADERA. Por ejemplo, si desea recorrer las primeras 10 celdas e insertar números de serie incrementados en 1, puede usar el bucle FOR NEXT.

Este bucle necesita una variable para ejecutar el bucle. Usando esta variable, podemos hacer referencia dinámicamente a las celdas.

Incluye tres parámetros.

Para instrucción = Punto de inicio a punto final (realizar alguna tarea) Declaración siguiente

Desde el punto de inicio, el bucle comenzará y realizará alguna tarea después de finalizar la tarea, se moverá al siguiente bucle y nuevamente realizará la misma tarea en la celda diferente. Así, hasta que llega al punto final, sigue realizando la tarea especificada.

¿Cómo usar VBA para el siguiente bucle?

Suponga que desea insertar números de serie del 1 al 10 en las celdas A1 a A10. Por supuesto, podemos insertar como escribir diez líneas de código.

Código:

Sub For_Next_Loop_Example1 () Rango ("A1"). Valor = 1 Rango ("A2"). Valor = 2 Rango ("A3"). Valor = 3 Rango ("A4"). Valor = 4 Rango ("A5") .Valor = 5 Rango ("A6"). Valor = 6 Rango ("A7"). Valor = 7 Rango ("A8"). Valor = 8 Rango ("A9"). Valor = 9 Rango ("A10") .Valor = 10 End Sub

Pero, ¿y si quiero insertar 100 números de serie? Por supuesto, no puedo escribir 100 líneas de código solo para insertar números de serie. Aquí es donde entra en escena la belleza del bucle "FOR NEXT" . Siga los pasos a continuación para minimizar el código.

Paso 1: Primero, necesitamos definir una variable. He declarado el nombre de la variable llamado "Serial_Number" como un tipo de datos enteros.

Código:

Sub For_Next_Loop_Example2 () Dim Serial_Number As Integer End Sub

Paso 2: Ahora ordeno solicitar el bucle FOR NEXT, nuestro objetivo es insertar números de serie del 1 al 10, por lo que esto significa que nuestro bucle tiene que ejecutarse diez veces. Entonces, la instrucción FOR LOOP debería ser así.

Para Serial_Number = 1 a 10

Siguiente número de serie

Código:

Sub For_Next_Loop_Example2 () Dim Serial_Number As Integer For Serial_Number = 1 to 10 Next Serial_Number End Sub

Paso 3: Hemos aplicado el bucle. Ahora, una vez que se aplica el ciclo, necesitamos especificar qué tenemos que hacer dentro del ciclo. Nuestro objetivo aquí es insertar números de serie del 1 al 10. Así que escribe el código como Cells (Serial_Number, 1) .Value = Serial_Number.

Código:

Sub For_Next_Loop_Example2 () Dim Serial_Number As Integer Dim Serial_Number = 1 to 10 Cells (Serial_Number, 1) .Value = Serial_Number Dim Serial_Number End Sub

Paso 4: La razón por la que habíamos dado Serial_Number en la propiedad CELLS porque no podemos especificar el número incondicional para referencia de fila aquí. Cada vez que se ejecuta el bucle, quiero insertar el nuevo número de serie en la nueva celda, no en la misma celda.

Paso 5: Ejecute el código línea por línea presionando la tecla F8.

Paso 6: Coloque un cursor en la variable Serial_Number; muestra el valor actual de Serial_Number.

En este momento, el valor de Serial_Number es cero.

Paso 7: Presione una vez más la tecla F8, el color amarillo se moverá a la siguiente línea de código en VBA. Ahora coloque un cursor en el número de serie.

Ahora el valor de Serial_Number es igual a uno porque ahora el bucle se inicia y nuestro bucle comienza desde 1, por lo que el valor de la variable Serial_Number es igual a uno.

Una cosa más interesante aquí es donde esté la variable Serial_Number, que también es igual a 1.

Entonces, en la propiedad de las celdas, hemos mencionado el código como:

Celdas (Número de serie, 1) .Value = Número de serie

Esto significa Cells (1, 1) .Value = 1. (Cells (1,1) significa Row1 & Column1.

Entonces, en la fila número 1 y la columna número 1, el valor debe ser 1.

Paso 8: Ahora presione F8 una vez más y vea qué sucede en Row1 & Column1, es decir, en la celda A1.

Así que obtuvimos 1 como valor, es decir, el valor de Serial_Number.

Step 9: Now press the F8 key one more time. Typically next code should be run i.e., the end of the substatement. But here, it will go back to the “above line.”

Step 10: Remember the loop already completed the first run. Now it returns for the second time. Now place a cursor on the variable Serial_Number and see what the value is.

Now variable Serial_Number is equal to 2 because the loop already returned for the second time.

Now, wherever Serial_Number is, there is equal to the value of 2. So the line code:

Cells(Serial_Number, 1).Value = Serial_Number is equal to:

Cells(2, 1).Value = 2. (Cells (2,1) means Row2 & Column1 i.e. A2 cell).

Step 11: Run this code and see the value in the A2 cell.

So, we got the second serial number value.

Paso 12: Ahora presione la tecla F8. Volverá nuevamente a la línea anterior para repetir el código. Esta vez, el valor de Número de serie será 3.

Paso 13: Entonces, donde sea que esté Serial_Number, es igual a 3.

Entonces, el código de línea: Cells (Serial_Number, 1) .Value = Serial_Number es igual a:

Celdas (3, 1). Valor = 3. (Celdas (3,1) significa Fila3 y Columna1, es decir, celda A3).

Paso 14: Presione F8 para ejecutar la línea resaltada y vea el valor en la celda A3.

Paso 15: Ahora sigue presionando F8. Seguirá insertando los números de serie. El valor de momento de la variable Serial_Number es 10, dejará de bucle y saldrá del bucle.

Articulos interesantes...