Reportar en un listbox fechas de vencimiento

Dante :

En Userform1 tengo 3 textbox (txtfe, txtcosto, txtfevenc), 1 combobox (cmbprod) donde ingreso datos que pasan a hoja Compras :

      A                    B                     C                    D

1  Fecha              Producto      Costo      Fecha vencimiento

2   21/08/2016    Harina          150           31/12/2016

3  22/08/2016     leche               70           30/03/2016, etc.

Lo que deseo mediante un botón muestre 2 listbox en el mismo Userform con los productos que faltan 7 días y otro faltando 3 días para su vencimiento.

Agradeciendo por su gentil respuesta. Uso excel 2013.

2 respuestas

Respuesta
3

H o l a : Puedes poner ejemplos de cuál fecha comparada contra cuál fecha. Qué datos quieres en cada listbox.

Se supone que se compara  la fecha actual con la fecha de vencimiento, todos los días abriré este formulario y con el botón me genera un reporte(listbox) mostrando la fecha de compra del producto y el nombre del producto Ejm hoy 22/08/2016 hago click en botón y la macro compara la fecha actual (sumando 3 o 15 días de acuerdo a la anticipación que deseo) y la fecha de vencimiento sí coincide aparece en el listbox, sí no hay producto me genera un mensaje, ya hice el filtro y copia a un archivo temporal, lo que deseo es emplear menos codificación. gracias

H o l a : Te anexo el código. Cambia "Hoja1" por el nombre de la hoja que contiene los datos.

Cambia el 3 y el 7 por los días de vigencia que requieras para cada listbox.

Cambia la propiedad ColumnCount de tus listbox a 4 o al número de columnas que quieras mostrar.

Private Sub CommandButton1_Click()
'Por.Dante Amor
    Set h = Sheets("Hoja1")
    For i = 2 To h.Range("D" & Rows.Count).End(xlUp).Row
        If h.Cells(i, "D") = Date + 3 Then Call agregar(ListBox1, h, i)
        If h.Cells(i, "D") = Date + 7 Then Call agregar(ListBox2, h, i)
    Next
End Sub
'
Sub agregar(LBox As MSForms.ListBox, h, i)
'Por.Dante Amor
    LBox.AddItem h.Cells(i, "A")
    LBox.List(LBox.ListCount - 1, 1) = h.Cells(i, "B")
    LBox.List(LBox.ListCount - 1, 2) = h.Cells(i, "C")
    LBox.List(LBox.ListCount - 1, 3) = h.Cells(i, "D")
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
Respuesta
1

No se si ya tienes esta fórmula en tu hoja para la fecha de vencimiento.

Fecha incio dias plazo fecha vence
22/08/2016        7            29/08/2016
 =HOY()           7            =FECHA(AÑO(A2),MES(A2),DIA(A2)+B2)
Celdas:
A2 B2 C2

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas