Me gustaría hacer que al momento de abrir un archivo me indique que productos están apunto de vencer y cuales ya vencieron

Me gustaría que me pudieran ayudar ha hacer una macro para que al momento de abrir mi archivo me indique mediante la fecha de vencimiento de mis productos, que productos están a punto de vencer, cuales ya vencieron y cuales están a tiempo.

2

2 respuestas

Respuesta
1

Para tu caso lo mejor creo que seria que utilizaras el formato condicional en las celdas donde tengas la fecha de vencimiento

Como podrás ver en la imagen, con estas 3 reglas, si el producto está caducado la fecha se pondrá en rojo, si faltan menos de 10 días para su vencimiento en naranja y si faltan más o igual a 10 días en verde

Lo puedes configurar a tu gusto

Respuesta
1

TE anexo la macro actualizada

Private Sub Workbook_Open()
'POR JAIRO ESCALANTE
'Declaración de variables
Dim MiRango As Range
Dim Celda As Range
Dim Nombre, Nombre2, Mensaje
Dim Nombree, Nombreee, Mensajee
Dim Nombree1, Nombreee1, Mensajee1
Set MiRango = Range("g3:h17")
'Recorremos cada celda y validamos VS la fecha actual
For Each Celda In MiRango
      If Celda _
       = Date Then
        Mensaje = "LOS SIGUIENTES PRODUCTOS VENCEN EL DIA DE HOY: " & Date
        Nombre = Celda.Offset(0, 2).Value
        Nombre2 = Nombre2 & vbNewLine & Nombre
        End If
        If Celda _
       < Date Then
        Mensajee = "ESTOS PRODUCTOS YA VENCIERON: " & Date
        Nombree = Celda.Offset(0, 2).Value
        Nombreee = Nombreee & vbNewLine & Nombree
      End If
       If Celda _
       > Date Then
        Mensajee1 = "ESTOS PRODUCTOS ESTAN A TIEMPO: " & Date
        Nombree1 = Celda.Offset(0, 2).Value
        Nombreee1 = Nombreee1 & vbNewLine & Nombree1
      End If
Next Celda
'
'Mostramos mensajes
'
If IsEmpty(Nombre2) Then
    MsgBox "No hay Productos que Venzan Hoy.", vbInformation, "AVISO DE VENCIMIENTO"
Else
    MsgBox Mensaje & Nombre2, vbInformation, ""
End If
If IsEmpty(Nombreee) Then
    MsgBox "No hay Productos Vencidos. ", vbInformation, "AVISO DE VENCIMIENTO"
Else
    MsgBox Mensajee & Nombreee, vbExclamation, ""
End If
If IsEmpty(Nombreee1) Then
    MsgBox "No hay Productos A Vencer. ", vbInformation, "AVISO DE VENCIMIENTO"
Else
    MsgBox Mensajee1 & Nombreee1, vbInformation, ""
End If
End Sub

no se te olvide valorar saludos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas