Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Ejemplos de For en VBA

¿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 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.

  1. Sorteo en Excel con Macros
  2. Diferencia entre Worksheets y Sheets
  3. Eliminar Filas Según Criterio
  4. For Each en VBA
  5. Copiar Hojas con Macros
  6. For Each VBA
  7. Generar números primos en Excel
  8. 5 Ejemplos de Macros con For
  9. Ejemplo For Next
  10. Estructura for aplicada a selección geográfica
  11. Aplicación de For - Fibonacci
  12. FOR en BVA para la venta de terrenos de la inmobiliaria LOS PORTALES
  13. For ...Calcular Puntaje Promotor
  14. FOR en VBA para el control de tiempos en la tercerización de Servicios
  15. Ordenador por número de hijos con For Next
  16. Carrera de Caballos: Uso del With y también el For, Do y el While Wend
  17. For en VBA para la Función YEAR
  18. FOR en VBA para la asignación de bonos
  19. FOR en VBA para el calculo promedio de un portafolio de acciones
  20. Evaluacion del dia con la Función Day
  21. Extraer números VBA - Ejemplo con Tipo de cambio
  22. FOR en VBA para Calcular Horas Laboradas menores a 2
  23. Ordenar Hojas en excel con macros
  24. For en VBA para el calculo de áreas de una lista
  25. Creación de una PPT con VBA
  26. For next aplicado a lista de clientes
  27. Convertir el formato de fecha estándar en letras
  28. Números Primos
  29. For... Next aplicado al cálculo del promedio del curso
  30. Stock acumulado de vehículos
  31. Ejemplo de For...Next aplicado a destinos frecuentes de una aerolinea
  32. Ejemplo de For aplicado al llenado de una plantilla para la Venta de Departamentos
  33. Ejemplo de For aplicado al cálculo de la producción diaria en una empresa
  34. Ejemplo de FOR aplicado a anidar For .. do .. next
  35. Ejemplo de FOR aplicado a la elaboración de listas
  36. Análisis de sensibilidad de la pensión ante cambios en la tasa de venta
  37. Ejemplo de "For" aplicado al Cálculo del Factorial de un Número
  38. Ejemplo de uso de For aplicado al calculo del promedio de ventas
  39. Ejemplo de uso de For aplicado al cálculo de la Suma de Cuadrados
  40. Ejemplo de la Función FOR

3 comentarios

  1. 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

  2. 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

  3. 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

Deja una respuesta

Los campos requeridos estan marcados con *.