Fórmulas Excel: Ejemplos, Tips y Tutoriales para Dominar Excel

Descubre ejemplos prácticos de fórmulas Excel, tutoriales paso a paso y consejos para optimizar tu trabajo con hojas de cálculo. ¡Aprende a dominar Excel fácilmente!

  • Home
  • Descargas
  • App a Medida
  • Sobre mi
  • Contacto
  • FAQ

Alerta de Vencimiento en Excel

Nolberto Lopez 22 comentarios

Cuando se tienen muchos datos en una tabla, puede llegar a ser un problema el encontrar los registros que ya tienen una fecha de vencimiento, una alerta de vencimiento puede ser la solución, muy útil para Cuentas por Cobrar y Cuentas por Pagar, básicamente se debe mostrar un mensaje al abrir el libro, en ese mensaje se debe poder visualizar lo que ya tiene vencimiento.

Aplicaciones contables en excel

Descargar MegaPack Contable en Excel

Alerta con Formulas Excel

De inicio puede ser una solución el uso de formulas, la idea es que se pueda mostrar un texto cuando se cumple una condición de vencimiento por la fecha.

Formula Vencimiento de Facturas

Partiremos de la idea que en la tabla de datos también se cuenta con la cantidad de dias de crédito, de tal forma que a la fecha podamos sumar esos dias para obtener la fecha de vencimiento.

=SI(E2<=HOY()+2,"Vencimiento","")

Con la formula anterior obtenemos el texto “Vencimiento”, esto cuando faltan dos dias para llegar a la fecha en que la factura vence, para cambiar la cantidad de dias con anticipación que se debe mostrar el mensaje solo debes cambiar el “+2” por la cantidad de dias que desees.

Alerta con Macros

Tomando como base la formula anterior, podemos crear una macro que recorra la tabla de datos y comprobar en cada registro la columna donde aparece “Vencimiento” en los casos que aplica, de tal forma que al finalizar el recorrido se muestre un mensaje con la lista de facturas que están en vencimiento.

Codigo VBA Alerta de Facturas Vencidas

El siguiente código es muy simple pero de grana ayuda para no dejar pasar esas facturas que ya tienes que pagar, lo que hace esta macro es poner un fondo rojo a todas las facturas con vencimiento y ademas te da un mensaje con la lista de todas esas facturas.

Sub AlertaVencimiento()
    Dim r As Range
    Dim mensaje As String

    If wsFacturas.Range("A2") <> "" Then
        For Each r In wsFacturas.Range("A2", wsFacturas.Range("A1").End(xlDown))
            If r.Offset(0, 6) = "Vencimiento" Then
                r.Offset(0, 6).Interior.Color = rgbRed
                mensaje = mensaje & r & ", Vencimiento " & r.Offset(0, 1) & ", " & FormatNumber(r.Offset(0, 3)) & vbNewLine
            Else
                r.Offset(0, 6).Interior.Pattern = xlNone
        End If
    Next r
        If mensaje <> "" Then
MsgBox mensaje, vbCritical, "Vencimiento de Facturas"
End If

    End If
End Sub

Explicacion Macro Vencimiento de Facturas

La macro inicia el recorrido de la tabla tomando como base la columna A, el recorrido se inicia solo si hay por lo menos un registro If wsFacturas.Range("A2") <> "" Then

El recorrido se hace desde A2 hasta la ultima fila que tenga algún dato.

For Each r In wsFacturas.Range("A2", wsFacturas.Range("A1").End(xlDown))

Si en la columna G esta el texto “Vencimiento” en el registro en turno, el fondo de esa celda se pone rojo y se agrega un linea a la variable “mensaje”, esa nueva linea tiene el numero de factura, fecha de vencimiento e importe.

If r.Offset(0, 6) = "Vencimiento" Then
    r.Offset(0, 6).Interior.Color = rgbRed
    mensaje = mensaje & r & ", Vencimiento " & r.Offset(0, 1) & ", " & FormatNumber(r.Offset(0, 3)) & vbNewLine

Si no esta vencida, entonces le quita el color de fondo a la celda.

r.Offset(0, 6).Interior.Pattern = xlNone

Una vez terminado el recorrido, si la variable mensaje tiene por lo menos una linea, se mostrara ese mensaje.

If mensaje <> "" Then
MsgBox mensaje, vbCritical, "Vencimiento de Facturas"
End If

Alerta de Vencimiento en Excel

Hacer que el proceso sea ejecutado justo despues de abrir el libro Excel.

Es importante que esta alerta se ejecute cuando se abra el libro, esto con el fin de asegurarnos de poder ver la informacion actualizada cada día.

Para esto simplemente tenemos que agregar el siguiente código en “ThisWorkBook”, este objeto lo podemos ubicar desde el explorador de proyecto de VBA.

Private Sub Workbook_Open()
    Call AlertaVencimiento
End Sub

Espero que este ejercicio te sea de mucha ayuda y puedas adaptarlo a tus proyectos.

Deja tus comentarios.

Descargas formulasexcel.com

Categoría: Ejercicios Excel

  1. Aplicación a Medida
  2. MegaPack contable en excel
  3. Nómina en excel
  4. Control de CFDI en excel
  5. Control de CFDI de Nomina en excel
  6. Contabilidad electrónica en excel
  7. Sistema contable en excel
  8. Cuentas por cobrar en excel
  9. Pago a proveedores en excel
  10. Ingresos y Egresos en excel
  11. Vacaciones de empleados en excel
  12. Inventarios en excel
  13. Agenda en excel
  14. Conciliación bancaria en excel
  15. Bancos en excel
Aprender Excel Gratis:
  • Facebook
  • Instagram
  • TikTok
  • Twitter
  • WhatsApp
  • Youtube

Acerca de Nolberto Lopez

Experto en Microsoft Excel. Desarrollador de aplicaciones en Excel con VBA. Autor del sitio formulasexcel.com

« Especial día del Contador
Consultar tablas web en Excel »

Comentarios

  1. Nicolas Araiza dice

    noviembre 30, 2020 en 3:20 pm

    Me aparecer ERROR 13, en la línea de mensaje

    Responder
  2. Ricardo dice

    marzo 4, 2020 en 4:23 pm

    Muy buen ejemplo… Eso tambn se podría aplicar a un formulario…

    Responder
  3. usuario con duda dice

    septiembre 2, 2019 en 5:49 pm

    Hola, cómo sería si quiero que el msgbox muestre solamente la cantidad de facturas vencidas y no cada una de estas.

    Responder
  4. Mario Herrera dice

    julio 29, 2019 en 5:24 pm

    Gracias Norberto por el Ejercicio
    Fijate que me sale el siguiente Mensaje:

    Se ha Producido el error 424 en tiempo de Ejecución se requiere un Objeto

    Responder
  5. Leopoldo dice

    junio 15, 2019 en 12:17 pm

    La siguiente línea me sale en amarillo de error en el depurador.

    If wsFacturas.Range(“A2”) “” Then

    los signos de mayor y menor si los puse, no entiendo porque en ocasiones al pegar el texto no los aparece.
    Saludos cordiales
    Gracias

    Responder
    • Fred dice

      agosto 24, 2019 en 5:36 pm

      Simplemente quita el wsFacturas, quedaria asi:

      If Range(“A2”) “” Then

      En todo lo que aparece wsFacturas borralo.
      Saludos.

      Responder
  6. Juan Carlos Lozoya dice

    mayo 29, 2019 en 6:38 pm

    NO DEJA DESCARGAR EL ARCHIVO!!!
    me interesa mucho Nolberto, podrías enviarmelo?

    Responder
  7. Betty dice

    febrero 7, 2019 en 6:50 pm

    Cómo ha declarado “r”????
    me sale error 91

    Responder
    • Argenis dice

      mayo 29, 2019 en 9:32 pm

      La declaró como Dim r as Range al inicio

      Responder
  8. Soledad dice

    enero 16, 2019 en 7:28 pm

    Buenas tardes!
    En el workbook coloque como se indicaba lo siguiente:

    Private Sub Workbook_Open()
    Call AlertaVencimiento
    End Sub

    Me aparece un error de compilación “No se ha defino Sub o Function”

    Desde ya muchas gracias

    Responder
  9. Andres Correa dice

    octubre 18, 2018 en 6:49 pm

    buen dia

    Sale error en el wsfacturas,¿ cual podría ser el problema
    ?

    Responder
  10. Danna dice

    octubre 8, 2018 en 4:04 pm

    Nolbeto el archivo no deja descargar y trate por todos los medios

    Responder
  11. Garcia dice

    septiembre 28, 2018 en 5:22 pm

    Podria ayudarme, me da error en la linea de if
    If wsFacturas.Range(“A2”) “” Then
    y no entiendo que pasa y todo lo demas me funciona

    Responder
    • Nolberto Lopez dice

      octubre 2, 2018 en 4:47 pm

      If wsFacturas.Range(“A2”) <> “” Then

      Responder
      • Andres Correa dice

        octubre 18, 2018 en 6:51 pm

        Sigue saliendo error cual podrá ser ?

        Responder
        • Nolberto Lopez dice

          octubre 18, 2018 en 7:12 pm

          Saludos Andres.

          Para poder ayudarle tendiera que saber cual es el mensaje de error que esta obteniendo…

          Aunque lo mas probable es que sea porque usted esta usando un archivo diferente al del ejemplo, es decir, creo su propio archivo y solo pego la macro, en ese caso es necesario que cambie el nombre de la hoja wsFacturas por el nombre de la hoja con la que usted esta trabajando.

          Si observa en el vídeo, al estar creando la macro, en la parte del explorador de proyectos aparece el nombre “wsFacturas” en la sección de “Microsoft Excel Objetos”, si selecciona el nombre de la hoja, puede cambiar el nombre en la ventana de propiedades que esta abajo (Name), esto no cambia el nombre de la pestaña en excel de esa hoja, sino que ese nombre es el que maneja VBA para referirse internamente a esa hoja.

          Responder
  12. alex dice

    septiembre 25, 2018 en 4:22 pm

    Gracias por compartir su conocimiento

    Responder
  13. Carlos dice

    septiembre 11, 2018 en 6:14 pm

    Buen formulario

    Responder
  14. omar dice

    agosto 22, 2018 en 8:58 pm

    me podria compartir el archivo para checar el codigo y ver como funciona??? gracias

    Responder
    • Nolberto Lopez dice

      agosto 22, 2018 en 10:49 pm

      Saludos Omar.

      Si lee el articulo encontrara el código.
      También esta la opción de descargar el archivo al final del post.

      Responder
  15. Herbetth dice

    marzo 28, 2018 en 1:00 am

    Tengo una duda, lo que sería ese “wsFacturas”,
    Tengo un error ” El Objeto es obligatorio ”

    ¿Puedes ayudarme?

    Responder
    • FRAN dice

      febrero 7, 2019 en 2:17 pm

      ANDO EN LAS MISMA

      Responder

Deja un comentario Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Ponte en contacto conmigo para definir detalles de tu nuevo proyecto.

Contactar
  • INICIO
  • CONTACTO
  • CONTABLES
  • VIDEOS
  • CATEGORIAS
  • VBA EXCEL
  • Política de privacidad

Copyright © 2026 · Formulas Excel · by Nolberto Lopez

Copyright © 2026

Aplicaciones contables en excel

Descargar MegaPack de 14 Apps Contables en Excel


Powered by Joinchat
Hola
¿En qué podemos ayudarte?
Abrir chat