¿Qué es FOR NEXT en VBA?
El For Next en VBA es una instrucción de uso muy frecuente, el propósito del For Next en VBA es realizar la repetición de un conjunto de instrucciones un determinado número de veces, veamos a continuación como emplear esta instrucción.
Sintáxis de FOR NEXT en VBA
FOR (variable inicializada) to límite [Step avance ]
Instrucciones a ser repetidas
Next
La "variable inicializada" es el punto de partida de una variable, por ejemplo si ahí colocamos x = 2, entonces X comenzará almacenando el valor de 2 y se incrementará hasta alcanzar el valor que indique "límite", el cierre del for se produce con la instrucción Next.
El uso de "Step" es opcional (por ello aparece entre corchetes), y permite determinar como va avanzando el valor de X hasta llegar al "límite", si no se coloca esta parte se asume que X se va incrementando de uno en uno, el valor de "Step" también puede ser negativo.
¿Cómo usar FOR NEXT en VBA?
Por ejemplo si empleamos lo siguiente:
FOR x =2 to 10
MSGBOX x
Next
Tendríamos que las instrucciones a ser repetidas se ejecutarían 9 veces, durante la primera ejecución x valdría 1, en la siguiente ejecución x valdría 2 y así sucesivamente hasta alcanzar el valor de 10.
Y si por ejemplo realizamos lo siguiente
FOR x =2 to 10 step 2
MSGBOX x
Next
Lo que ocurriría es que X comenzaría valiendo 2, luego 4, luego 6 y así sucesivamente hasta alcanzar el valor de 10.
Ejercicios de FOR NEXT en VBA
Observe en los siguientes ejemplos una amplia variedad de usos que se le puede dar a la instrucción for en vba.
- Sorteo en Excel con Macros
- Diferencia entre Worksheets y Sheets
- Eliminar Filas Según Criterio
- For Each en VBA
- Copiar Hojas con Macros
- For Each VBA
- Generar números primos en Excel
- 5 Ejemplos de Macros con For
- Ejemplo For Next
- Estructura for aplicada a selección geográfica
- Aplicación de For - Fibonacci
- FOR en BVA para la venta de terrenos de la inmobiliaria LOS PORTALES
- For ...Calcular Puntaje Promotor
- FOR en VBA para el control de tiempos en la tercerización de Servicios
- Ordenador por número de hijos con For Next
- Carrera de Caballos: Uso del With y también el For, Do y el While Wend
- For en VBA para la Función YEAR
- FOR en VBA para la asignación de bonos
- FOR en VBA para el calculo promedio de un portafolio de acciones
- Evaluacion del dia con la Función Day
- Extraer números VBA - Ejemplo con Tipo de cambio
- FOR en VBA para Calcular Horas Laboradas menores a 2
- Ordenar Hojas en excel con macros
- For en VBA para el calculo de áreas de una lista
- Creación de una PPT con VBA
- For next aplicado a lista de clientes
- Convertir el formato de fecha estándar en letras
- Números Primos
- For... Next aplicado al cálculo del promedio del curso
- Stock acumulado de vehículos
- Ejemplo de For...Next aplicado a destinos frecuentes de una aerolinea
- Ejemplo de For aplicado al llenado de una plantilla para la Venta de Departamentos
- Ejemplo de For aplicado al cálculo de la producción diaria en una empresa
- Ejemplo de FOR aplicado a anidar For .. do .. next
- Ejemplo de FOR aplicado a la elaboración de listas
- Análisis de sensibilidad de la pensión ante cambios en la tasa de venta
- Ejemplo de "For" aplicado al Cálculo del Factorial de un Número
- Ejemplo de uso de For aplicado al calculo del promedio de ventas
- Ejemplo de uso de For aplicado al cálculo de la Suma de Cuadrados
- Ejemplo de la Función FOR
19/08/2017 a las 1:30 pm
Hola gente
Necesitaba buscar el precio máximo de una tabla compra de productos para insertarlos en la tabla de productos con su lista de precios
En la tabla de productos (ejemplo)
Lista de compra
codigo peces precio
100 perscado_1 125
100 perscado_1 122
100 perscado_1 126
101 perscado_2 150
101 perscado_2 1000
101 perscado_2 122
100 perscado_1 100
100 perscado_1 98
100 perscado_1 126
102 perscado_3 125
102 perscado_3 299
102 perscado_3 124
103 perscado_4 50
103 perscado_4 200
y la otra tabla lista de precios (ejemplo)
Lista de Pecio
codigo peces precio
100 perscado_1 $100,00
101 perscado_2 $90,00
102 perscado_3 $120,00
103 perscado_4 $200,00
En la tabla lista de precios necesito que figure el valor máximo de compra obtenido de la tabla de compra.
Se me ocurrió este procedimiento con el bucle for-next con condicional
a mi me funciona en el pequeño ejemplo
Espero que puedas realizarlo en un tutorial mejorado
El código es el siguiente
Sub preciomax()
'Ubicacion de las 2 tablas
'tabla lista de precios los valores estan en A3:C6
'tabla de compra los valores estan en G3:I16
Dim filai, filaj As Integer
Dim max As Double
filai = Range("A3").End(xlDown).Row
filaj = Range("G3").End(xlDown).Row
For i = 3 To filai
max = 0
For j = 3 To filaj
If Range("A" & i) = Range("G" & j) Then
If max < Range("I" & j) Then
max = Range("I" & j)
End If
End If
Next j
Cells(i, 3) = max
Next i
End Sub
02/12/2021 a las 4:55 pm
Muy buena página, todo explicado de manera fantástica. Es justo lo que necesito para poner en práctica lo que he aprendido de macros VBA
06/03/2023 a las 9:20 am
Hola,
Agradecería me puedan ayudar con una duda
Necesito que si se cumple un valor en una celda en especifico
("$D$5") = "NC"
copie los valores de un rango ("$E$12:""$E$23)
y los pegue en rango ("$G$12:""$G$23)
Saludos y gracias de antemano