Tengo un problema al querer hacer un filtro avanzado desde un formulario en VBA.

No me funciona el filtro cuando lo quiero hacer desde el formulario, allí tengo una listbox, un botón de comando y un textbox. Lo que quiero hacer es que a la hora de la ejecución, al escribir la fecha en el textbox, automáticamente ésta vaya y se pegue al rango de criterios que ya había definido antes, pues he grabado la macro y he copiado el código en el botón de comando. Cuando ejecuto, escribo la fecha y clickeo el botón, el filtro me deja de funcionar. Yo supongo que tiene que ver con los formatos pero la verdad no sé como hacerlo. ¿Hay alguien que me pueda ayudar? Por favor!

Éste es el código que tengo en el botón de comando.

ésta es la lista de la cual quiero filtrar los datos.

y ésta es el area de extracción y a la derecha, en la columna g está el area de críterios(g2).

1 Respuesta

Respuesta
1

[Hola 

te paso para filtrar desde g2 

Sub Macro2()
    ActiveSheet.Range("$A$2:$E$100").AutoFilter Field:=5, Criteria1:=Format(Range("G2"), "dd/mm/yyyy")
End Sub

A los títulos le pones en la segunda fila para cuando realices el filtro no se oculte

Si deseas filtrar por formulario

Usa eso

Private Sub CommandButton1_Click()
'Fuente: Dante
'//Act. Por Adriel
'
ListBox1.ColumnCount = 5
ListBox1.Clear
fecha = Format(TextBox1, "dd/mm/yyyy")
 For Each celda In Hoja1.Range("E3:E" & Hoja1.Range("E" & Rows.Count).End(xlUp).Row)
        If CDate(celda) = fecha Then
            ListBox1.AddItem Cells(celda.Row, "A")
            i = ListBox1.ListCount - 1
            Me.ListBox1.List(i, 1) = Cells(celda.Row, "B")
            Me.ListBox1.List(i, 2) = Cells(celda.Row, "C")
            Me.ListBox1.List(i, 3) = Cells(celda.Row, "D")
        End If
    Next
End Sub

Para finalizar hay 2 opciones para valorar Excelente o bueno 

¡Gracias! 

Para finalizar hay 2 opciones para valorar Excelente o bueno

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas