Excel Avanzado

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

Excel Avanzado
Ejemplo If then else 150x150, Ejemplo de uso de IF then else (VBA)

Ejemplo de uso de IF then else (VBA)

| 6 comentarios

La instrucción If Then Else es una estructura condicional que nos permite ejecutar acciones en función de si se cumple una condición . Generalizando tenemos tenemos: If cumple condición Then ejecutar acción 1 Else ejecutar acción 2.

Dentro de esta estructura puede haber otra estructura condicional y dentro de esta otra, y así sucesivamente. A esto se le conoce como  una Estructura If anidada. A continuación veremos un ejemplo de una estructura If Then Else:

En VBA de MS.Excel escribimos el siguiente procedimiento para determinar que porcentaje de descuento se le realiza a una compra dependiendo del monto de compra; y de esta manera obtener el monto final a pagar. Si el monto de compras es mayor a s/. 10,000.00 entonces se le aplica un descuento de 10%, caso contrario se le aplica un descuento de 5%:

Sub COBRANZA()
MONTO = Worksheets("HOJA1").Range("B1").Value

If MONTO > 10000 Then
DESCUENTO = 0.1 * MONTO
Else
DESCUENTO = 0.05 * MONTO
End If

MONTO_F = MONTO – DESCUENTO
Worksheets("HOJA1").Range("B2").Value = DESCUENTO
Worksheets("HOJA1").Range("B3").Value = MONTO_F

End Sub

EXCEL 300x135, Ejemplo de uso de IF then else (VBA)

Elaborado por: Juan Carlos Castillo

6 comentarios

  1. Muy bueno sus tutoriales
    son de gran importancia

  2. Hola, Tengo una pregunta si yo quiero elegir toda la columnan b y no solo la celda b1 como podria corregir el codigo.
    Gracias.

    • el comodin para seleccionar toda una columna es (columna:columa)

      por ejemplo si quieres toda la columna b seria: Range(B:B).Select

  3. quiero sacar el promedio mas alto de una lista de alumnos

    por ejemplo el promedio esta en la columna f2 hasta f10 o un sin fin de numeros
    usando if
    que compare el primer numero con el que sigue, si el que sigue es mayor se mueve a ese numero mayor y sigue comparando con el resto hasta que quede con el numero mayor.

  4. Espero puedan ayudarme.
    Gracias.
    Tengo esta expresión y no se redactarla.
    La expresión es:
    Si mi ( hoja 1) mi celda (a1) igual a 2018 y
    Si en mi hoja 1 la celda (" c1″) es mayor a 1 y menor que tres utiliza el siguiente programa.

  5. Hola,
    Alguno me puede apoyar tengo el presente código

    Sub BUSCAR()
    Dim FILAS, BUSCAR As Variant

    Do
    BUSCAR = InputBox("No de Plaquita", "BUSCAR")
    If BUSCAR = "" Or Not IsNumeric(BUSCAR) Then
    MsgBox "DATO INCORRECTO", 16, "BUSCAR"
    Exit Sub
    End If

    Cells.Find(What:=BUSCAR, After:=ActiveCell).Activate

    BUSCAR = Val(BUSCAR)

    For FILAS = 2 To 50000
    If Hoja2.Cells(FILAS, 1) = Val(BUSCAR) Then
    Hoja2.Cells(FILAS, 1).Interior.Color = QBColor(10)
    End If

    Next FILAS

    Loop

    End Sub

    pero a la hora de realizar la busqueda y no encontrar el número en las celdas visibles (menciono visibles porque utilizo filtros y me interesa encontrar las que no oculta el filtro) y me aparece la ventana de Finalizar, Depurar y Ayuda.

    Me gustaria saber como agregarle la sentencia que si no encuntra el valor me indiqlue Valor no encontrado y me de la opción de volver a intentar.

    Gracias por la ayuda.

Deja un comentario

Los campos requeridos estan marcados con *.