Consulta por filtros entre fechas

Leyendo mucho su página no puedo solucionar el tema de filtrado, y la verdad que no soy experto pero leyendo y probando me las arreglo, no en este caso, tengo un excel el cual la hoja de llama Stock, la misma contiene desde la A hasta la D, Código - Fecha- Descripción-Proveedor-Stock, lo que quisiera es poder filtrar entre dos fechas por proveedor, o sea que cree una nueva hoja nueva desde la A a la DE solamente del proveedor que necesito, lo que quisiera es un UserForm con 2 textBox para las fechas y uno para escribir el proveedor que quiero filtrar.

1 respuesta

Respuesta
2

H o la: Pon lo siguiente en tu Userform, cambia "proveedores" y "nueva hoja", por los nombres reales de tus hojas.

Si entendí bien el proveedor está en la columna "D", también supongo que los registros empiezan en la fila, suponiendo que en la 1 tienes un encabezado

Private Sub CommandButton1_Click()
'---
'   Por.Dante Amor
'---
    Set h1 = Sheets("proveedores")  'hoja origen
    Set h2 = Sheets("nueva hoja")   'hoja destino
    h2.Cells.Clear
    '
    If TextBox1 = "" Then
        MsgBox "Falta el proveedor"
        Exit Sub
    End If
    If TextBox2 = "" Or Not IsDate(TextBox2) Then
        MsgBox "Falta fecha ini"
        Exit Sub
    End If
    If TextBox3 = "" Or Not IsDate(TextBox3) Then
        MsgBox "Falta fecha fin"
        Exit Sub
    End If
    '
    Dim fecini As Date, fecfin As Date
    fecini = CDate(TextBox2)
    fecfin = CDate(TextBox3)
    j = 2
    For i = 2 To h1.Range("D" & Rows.Count).End(xlUp).Row
        If LCase(h1.Cells(i, "D")) = LCase(TextBox1) And _
           h1.Cells(i, "B") >= fecini And _
           h1.Cells(i, "B") <= fecfin Then
            h1.Rows(i).Copy h2.Rows(j)
            j = j + 1
        End If
    Next
    MsgBox "Filtro terminado"
End Sub

Avísame si tienes alguna duda.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas