Filtrar búsqueda de fechas en listbox

Hola Elsa Matilde quisiera adaptar esta macro que anteriormente me aportaste para que en las listbox 1 y 2 solo me muestre los datos si en la columna "c" la fecha es mayor a DATE. Te agradezco mucho tu apoyo.

Private Sub CommandButton1_Click()
'x Elsamatilde
'se limpian las listas
ListBox1.Clear: ListBox2.Clear
'si el campo queda vacío no se busca
If TextBox1 = "" Then Exit Sub
Set busca = Sheets("Hoja1").Range("B:B").Find(TextBox1.Text, LookIn:=xlValues, lookat:=xlPart)
If Not busca Is Nothing Then
    ubica1 = busca.Address
    Do
        fila = busca.Row
        ListBox1.AddItem Range("$A$" & fila): ListBox2.AddItem Range("$C$" & fila)
        Set busca = Sheets("Hoja1").Range("B:B").FindNext(busca)
    Loop While Not busca Is Nothing And busca.Address <> ubica1
Else
    ListBox1.Clear: ListBox2.Clear
End If
End Sub

1 respuesta

Respuesta
3

En el bucle Do... Loop agregá las líneas que dejo en negritas:

Do
fila = busca.Row
If Range("C" & fila) > Date Then
         ListBox1.AddItem Range("$A$" & fila): ListBox2.AddItem Range("$C$" & fila)
End If
Set busca = Sheets("Hoja1").Range("B:B").FindNext(busca)
Loop While Not busca Is Nothing And busca.Address <> ubica1

Sdos.

Elsa

¡Gracias! Elsa como siempre muy acertada con tus respuestas. Saludos! 

No olvides valorar la respuesta (opciones: excelente o buena) para darla por cerrada.

Sdos!

¿Cómo hago para que los resultados en los listbox se ordenen por las fechas más próximas de la columna c?

Si estás intentando mostrar las listas ordenadas por fechas (> o <) podes hacer lo siguiente: ordenar los registros sobre tu misma tabla o copiarla y ordenarla en un rango auxiliar.

Como estás mostrando solo parte de tu tabla porque solo tomas los registros con fecha > date entonces podrías primero filtrar la tabla de datos con opción de copiar resultado en otro sector (filtro avanzado) y luego se ordena ese rango auxiliar para mostrar en los controles.

Con la grabadora de macros encendida podés realizar esos pasos de copiar-filtrar-ordenar o solo ordenar sobre la misma tabla. Al detener la grabadora encontrarás en un módulo la macro.

Si luego necesitas ayuda para depurar un poco la macro obtenida copiala en una nueva consulta aclarando además todos los detalles: rangos, si la hoja está protegida o no, cómo ordenar las fechas (¿más próximas a Date? ), etc.

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas