Ícono del sitio Formulas Excel

Alerta de Vencimiento en Excel

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.

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

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.

Salir de la versión móvil