Saltar al contenido

Filtrar por fecha en ListView


Recommended Posts

publicado

Saludos a esta fabulosa comunidad.

Por favor a quien me pueda colaborar ...

Deseo hacer un filtro por fecha  en un ListView, de  una bddatos que se encuentra en una hoja de Excel . Las fechas son ingresadas en dos textbox  uno de desde  ( fecha inicial ) hasta ( fecha inicial ) y que el resultado me lo muestre en el ListView .

Gracias por cualquier información que me ayude a solucionar 

prueba_filtrarPorFecha_Listview.xlsm

  • 2 months later...
publicado

Hola @waquiro

Espero no sea muy tarde para revivir esta consulta, y es posible que hasta lo hayas solucionado ya para estos días. En cualquier caso espero sea de utilidad para ti o algún lector reciente.

Para filtrar propongo este código:

Private Sub Btn_BUSCAR_Click()
Dim fechaDesde As Date
    Dim fechaHasta As Date
    Dim fila As Integer
    Dim li As Variant
    
    If Not IsDate(txtdesde.Value) Or Not IsDate(txthasta.Value) Then
        MsgBox "Por favor ingresa fechas válidas en ambos cuadros de texto.", vbExclamation
        Exit Sub
    End If
    

    fechaDesde = DateValue(txtdesde.Value)
    fechaHasta = DateValue(txthasta.Value)
    

    ListView1.ListItems.Clear
    

    fila = 5
    Do Until Hoja1.Cells(fila, 1) = 0
        
        If Hoja1.Cells(fila, 2).Value >= fechaDesde And Hoja1.Cells(fila, 2).Value <= fechaHasta Then
        
            Set li = ListView1.ListItems.Add(Text:=Hoja1.Cells(fila, 1).Value)
            li.ListSubItems.Add Text:=Format(Hoja1.Cells(fila, 2).Value, "dd/mm/yyyy")
            li.ListSubItems.Add Text:=Hoja1.Cells(fila, 3).Value
            li.ListSubItems.Add Text:=Hoja1.Cells(fila, 4).Value
            li.ListSubItems.Add Text:=Hoja1.Cells(fila, 5).Value
            li.ListSubItems.Add Text:=Format(Hoja1.Cells(fila, 6).Value, "#,##0")
            li.ListSubItems.Add Text:=Format(Hoja1.Cells(fila, 7).Value, "#,##0")
        End If
        
        fila = fila + 1
    Loop

End Sub

Para regresar a como estaba el ListView con el botón que creaste ACTUALIZAR

Private Sub CommandButton6_Click()


    Dim fila As Integer
    Dim li As Variant
    
    ListView1.ListItems.Clear
    

    fila = 5
    Do Until Hoja1.Cells(fila, 1) = 0
        
        Set li = ListView1.ListItems.Add(Text:=Hoja1.Cells(fila, 1).Value)
        li.ListSubItems.Add Text:=Format(Hoja1.Cells(fila, 2).Value, "dd/mm/yyyy")
        li.ListSubItems.Add Text:=Hoja1.Cells(fila, 3).Value
        li.ListSubItems.Add Text:=Hoja1.Cells(fila, 4).Value
        li.ListSubItems.Add Text:=Hoja1.Cells(fila, 5).Value
        li.ListSubItems.Add Text:=Format(Hoja1.Cells(fila, 6).Value, "#,##0")
        li.ListSubItems.Add Text:=Format(Hoja1.Cells(fila, 7).Value, "#,##0")
        
        fila = fila + 1
    Loop



End Sub

 

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.