Código que indique fecha de vencimiento

Tengo un libro en cual en la celda D1 tengo cierta fecha, lo que necesito

Es que si en mi rango E1:B100 tengo cantidades entonces

Necesito un código que me indique que a partir de la fecha que tengo en D1 me cuente 3 días posteriores e indique que los productos del día 03/02/2015 ya vencieron

Ejemplo:

Ahí esta el rango si tiene cantidad entonces me cuente 3 días posteriores y me salga el msgbox deseado

Y cuando se haya pasado 3 días me salga el siguiente mensaje

Y así sucesivamente.. (ojo: no tiene nada que ver con la fecha de la CPU) son fechas que se usan para determinar la fechas independientes... Espero su ayuda... Y si me explique bien.. Je je saludos

1 respuesta

Respuesta
1

Como indicas que han pasado los 3 días, ¿las fechas las cambias a mano? O con una macro

Con una macro... que se indique que de la fecha que siempre este en D1 sea cual sea, este cuente 3 días a partir de la misma

Cuando han de salir los mensajes, ¿cuándo se abre el libro cada vez?

Dime la columna de las fechas, así cuando venzan los productos cambiaré el color de la celda, para que se vean los productos mejor.

SI cuando se abre el libro que aparezca el mensaje.

La fechas están en 7 celdas en la misma fila...

Ejemplo:

E1 esta la fecha 30/06/2015

en AV1 esta la formula =E1+1 

Así hasta abarcar 7 fechas correspondiente al semana..

Las celdas que se han de verificar son E1,¿E2...?

exacto... 

La función la tienes que poner en la parte que pone ThisWorkbook.

Has de poner la función donde dice ThisWorkbook.

Si no sabes donde está haz, ALT+F11, verás a la izquierda una parte que se llama Proyecto-VBAProject, está en esa parte.

Private Sub Workbook_Open()    Dim i As Double    i = 7    with Hoja1    MsgBox ("LA FECHA DE VENCIMIENTO DE LOS PRODUCTOS DEL DIA " + CStr(.Range("B2")) + " ES EL DIA " + CStr((.Range("B2") + 3)))    'He supuesto que la fecha de hoy esta en BR1    'He supuesto que jueves,30 de abril de 2015 está en B2     MsgBox ("LOS PRODUCTOS DEL DIA " + CStr(.Range("BR1")-3) + " YA VENCIERON, FAVOR DE REVISAR")     While (.Range("E" + CStr(i)) <> "")         If (.Range("E" + CStr(i)) < .Range("BR1")) Then            'Los nombres de los productos están en la columna B?            .Range("B" + CStr(i)).Interior.Color = RGB(0, 0, 0)            .Range("B" + CStr(i)).Font.Color = RGB(255, 255, 255)         End If         i = i + 1     Wend    End If   end withEnd Sub

Para que los productos con celda negra y nombre blanco se pongan otra vez con celda blanca y nombre negro. Pon

Private Sub CommandButton1_Click()            Range("B7:B1000").Interior.ThemeColor = -4142      Range("B7:B1000").Font.Color = RGB(0,0, 0)End Sub

hola si me sirve... ¿lo podrías pegar de manera VERTICAL? je je no lo pude copiar bien.. te lo agradecería y valoro tu resp.. gracias

Lo puse vertical pero no se porque ha salido así.

Private Sub Workbook_Open()    Dim i As Double    i = 7    MsgBox ("LA FECHA DE VENCIMIENTO DE LOS PRODUCTOS DEL DIA " + CStr(Range("B2")) + " ES EL DIA " + CStr((Range("B2") + 3)))    If (Range("BR1") = (Range("B2") + 3)) Then        MsgBox ("LA FECHA DE VENCIMIENTO DE LOS PRODUCTOS DEL DIA " + CStr(Range("B2")) + " ES EL DIA " + CStr((Range("B2") + 3)))        While (Range("E" + CStr(i)) <> "")            If (Range("E" + CStr(i)) < Range("BR1")) Then                Range("B" + CStr(i)).Interior.Color = RGB(0, 0, 0)                Range("B" + CStr(i)).Font.Color = RGB(255, 255, 255)            End If            i = i + 1        Wend    End IfEnd Sub
Private Sub CommandButton2_Click()    Range("B3").Interior.ThemeColor = -4142    Range("B3").Font.Color = RGB(0, 0, 0)End Sub

Te lo pongo "normal".

El texto del msgbox ponlo en mayúsculas que no me dejaba, porque había "muchas mayúsculas"

Private Sub Workbook_Open()
    Dim i As Double
    i = 7
    MsgBox ("La fecha de vencimiento de los productos del dia " + CStr(Range("B2")) + " es el día " + CStr((Range("B2") + 3)))
    If (Range("BR1") = (Range("B2") + 3)) Then
        MsgBox ("La fecha de vencimiento de los productos del día " + CStr(Range("B2")) + " es el día " + CStr((Range("B2") + 3)))
        While (Range("E" + CStr(i)) <> "")
            If (Range("E" + CStr(i)) < Range("BR1")) Then
                Range("B" + CStr(i)).Interior.Color = RGB(0, 0, 0)
                Range("B" + CStr(i)).Font.Color = RGB(255, 255, 255)
            End If
            i = i + 1
        Wend
    End If
End Sub

'------------------------------------------------------------------------------------------------------------

Private Sub CommandButton2_Click()
    Range("B3").Interior.ThemeColor = -4142
    Range("B3").Font.Color = RGB(0, 0, 0)
End Sub

Pégalo usando las "" blockquote que esta en cinta de opciones al comentar...

son las comillas...

listo mi amigo ya lo copie... muchas gracias!!!

saludos

De nada, acuérdate de finalizar la pregunta, que si no no me dan puntos para viajar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas