En un formulario filtrar fechas desde dos textbox y ponerlos en mi listbox

Tengo dos textbox uno con fecha1 y el otro con fecha2 ahora necesito poner fecha de inicio y fecha final y los resultados se muestren en mi listbox de mi formulario los datos se extraen de una hoja. Ejemplo tengo una hoja con lista de facturas emitidas y quiero filtrarlas por fecha de emisión usando los textbox.

1 Respuesta

Respuesta
1

[Hola 

Te paso un ejemplo del amigo Dante

'

Valora la respuesta para finalizar saludos!

Private Sub CommandButton1_Click()
'Por Dante
'Act. Adriel
    'Filtrar por fecha
    '
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    '
    Set h1 = Sheets("Datos")    ' Hoja de origen de datos
    Set h2 = Sheets("Filtro")   ' Crea la hoja filtro
    h2.Cells.Clear
    '
    If TextBox1 > TextBox2 Then
        MsgBox "La fecha inicial no puede ser superior a la final", vbExclamation, "REVISAR FECHAS"
        Application.ScreenUpdating = True
        Exit Sub
    End If
    '
    If h1.AutoFilterMode Then h1.AutoFilterMode = False
    U = h1.Range("E" & Rows.Count).End(xlUp).Row
    h1.Range("A1:g" & U).AutoFilter
    h1.Range("A1:g" & U).AutoFilter Field:=5, Criteria1:=">=" & Format(TextBox1, "mm/dd/yyyy"), _
                             Operator:=xlAnd, Criteria2:="<=" & Format(TextBox2, "mm/dd/yyyy")
    If h1.Range("E" & Rows.Count).End(xlUp).Row = 1 Then
        MsgBox "No existen registros", vbExclamation, "REVISAR FECHAS"
        If h1.AutoFilterMode Then h1.AutoFilterMode = False
        Application.ScreenUpdating = True
        Exit Sub
    End If
    '
    h1.Range("A1:g" & U).Copy h2.[A1]
    ListBox1.RowSource = h2.Name & "!A2:g" & h2.Range("g" & Rows.Count).End(xlUp).Row
    If h1.AutoFilterMode Then h1.AutoFilterMode = False
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub

'


Private Sub UserForm_Activate()
ListBox1.ColumnCount = 7
ListBox1.ColumnWidths = "40;50;30;100;85;80;60"
End Sub

resultado

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas