Filtrar datos para varias columnas

Para DANTE AMOR

Hola

Te agradezco por resolverme el anterior caso del filtro por fechas.

Te quiero molestar una vez más

Utilizando el mismo archivo quiero filtrar las otras columnas que están a la par de las fechas o sea las columnas (H J L N P R T V X), en esas columnas hay una fórmula que me calcula las semanas transcurridas entre la fecha de la columna anterior y la fecha de la columna E, quiero utilizar una macro similar con un textbox que al ingresar por ejemplo el numero 12 me muestre las filas que contienen ese numero.

Aquí no seria un desde hasta, solo un textbox para ingresar el numero y muestre el resultado, todo casi idéntico con la macro de las fechas.

En el userform coloque un label que dice "INGRESAR SEMANA" y a la par el textbox donde se debe ingresar el numero.( Que use la función change)

Te envíe el archivo a tu correo.

1 Respuesta

Respuesta
1

Esta es la macro para filtrar por semana

Private Sub CommandButton2_Click()
'Por.Dante Amor
    Set h1 = Sheets("datos")
    Set h2 = Sheets("datosm")
    '
    h2.Cells.Clear
    h1.Rows(1).Copy h2.Rows(1)
    '
    For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
        For j = Columns("H").Column To Columns("X").Column Step 2
            If Cells(i, j) = Val(TextBox4) Then
                u = h2.Range("A" & Rows.Count).End(xlUp).Row + 1
                Rows(i).Copy h2.Rows(u)
            End If
        Next
    Next
    '
    bordes
    '
    'mostramos el resultado del filtro avanzado en el textbox
    ListBox1.RowSource = Empty
    ListBox1.RowSource = h2.Name & "!A2:X" & h2.Range("A" & Rows.Count).End(xlUp).Row
End Sub
Sub bordes()
'Por.Dante Amor
    With Sheets("datosm").Cells
        .Borders(xlEdgeLeft).LineStyle = xlNone
        .Borders(xlEdgeTop).LineStyle = xlNone
        .Borders(xlEdgeBottom).LineStyle = xlNone
        .Borders(xlEdgeRight).LineStyle = xlNone
        .Borders(xlInsideVertical).LineStyle = xlNone
        .Borders(xlInsideHorizontal).LineStyle = xlNone
    End With
    With Sheets("datosm").UsedRange
        .Borders(xlEdgeLeft).LineStyle = xlContinuous
        .Borders(xlEdgeTop).LineStyle = xlContinuous
        .Borders(xlEdgeBottom).LineStyle = xlContinuous
        .Borders(xlEdgeRight).LineStyle = xlContinuous
        .Borders(xlInsideVertical).LineStyle = xlContinuous
        .Borders(xlInsideHorizontal).LineStyle = xlContinuous
    End With
End Sub

Saludos.Dante Amor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas