Contenido
La instrucción For…Next en VBA se usa para crear bucles que ejecutan un bloque de código un número específico de veces. Puedes utilizarla para recorrer un rango de celdas en Excel y realizar operaciones en esas celdas.
Supongamos que deseas sumar los valores de la columna A de la hoja activa y mostrar el resultado en una celda.
Sub SumaColumnaExcel()
Dim total As Double
total = 0
Dim ultimaFila As Integer
ultimaFila = Cells(Rows.Count, "A").End(xlUp).Row ' Encuentra la última fila con datos en la columna A
' Suma los valores en la columna A
For i = 1 To ultimaFila
total = total + Cells(i, 1).Value ' Suma el valor de cada celda en la columna A
Next i
' Muestra el resultado en una celda
Range("C1").Value = "La suma es:"
Range("D1").Value = total
End Sub
Este código comienza declarando una variable total para almacenar la suma. Luego, utiliza la función Cells(Rows.Count, «A»).End(xlUp).Row para encontrar la última fila con datos en la columna A. Después, ejecuta un bucle For…Next desde la fila 1 hasta la última fila, sumando el valor de cada celda en la columna A a la variable total. Finalmente, muestra el resultado en las celdas C1 y D1.
También puedes usar For…Next si tienes una hoja de Excel con cinco celdas (A1 a A5) y quieres escribir los números del 1 al 5 en esas celdas utilizando un bucle For…Next en VBA
Sub EscribirNumerosEnCeldas()
Dim i As Integer
For i = 1 To 5
Cells(i, 1).Value = i ' Escribe el número actual en la celda correspondiente de la columna A
Next i
End Sub
En este caso:
Dim i As Integer: Declara una variable i como un número entero que actuará como contador del bucle.
For i = 1 To 5: Establece el inicio (1) y el final (5) del bucle. El bucle se ejecutará cinco veces, desde 1 hasta 5.
Cells(i, 1).Value = i: Escribe el valor de i en la celda de la columna A correspondiente a la fila actual del bucle. En la primera iteración, escribe 1 en la celda A1, en la segunda iteración escribe 2 en la celda A2, y así sucesivamente hasta llegar a 5 en la celda A5.
Al ejecutar este código, verás que los números del 1 al 5 se escriben en las celdas de la columna A (A1 a A5) de tu hoja de Excel.