Buscar por fecha y por optionbutton1

Buenas:

Para Dam

Hola como estas?

Sabes que tengo el siguiete problema tengo un userform para filtrar y al elegir un optionbutton busca pero no como yo quiero..

Ej

busco entre fecha con dos combobox el tercer combobox busco una muestra y al presionar uno de los tres optionbutton me filtra siempre por la fila 0 lo que quiero es que con el optionbutton1 sea por la fila 0 el oprionbutton2 por la 1 y el tercer optionbutton por la fila 2...

Por favor si me echas una mano con esto nuevamente..

Gracias

1 respuesta

Respuesta
1

Envíame tu archivo, me dices cómo se llama el formulario y me explicas con un ejemplo el resultado que esperas del filtro.

Recuerda poner el asunto del correo tu nombre rapo12

Saludos. Dante Amor

Hola:

Dam ya envie el archivo a tu correo!!

Gracias por responder

Te anexo la macro para el filtro

Dim muestra
Private Sub OptionButton1_Click()
    muestra = "UKP-X"
    Filtro
End Sub
Private Sub OptionButton2_Click()
    muestra = "UKP-L"
    Filtro
End Sub
Private Sub OptionButton3_Click()
    muestra = "UKP-K"
    Filtro
End Sub
Private Sub UserForm_Initialize()
    carga
    ComboBox3.ColumnCount = 1
    ComboBox3.RowSource = "analisis!A2:D" & Hoja3.Range("A" & Rows.Count).End(xlUp).Row
End Sub
Sub Filtro()
'Por.Dante Amor
    Dim fec1 As Date
    Dim fec2 As Date
    If ComboBox1 = "" Or ComboBox2 = "" Or ComboBox3 = "" Then
        MsgBox "llenar combos"
        Exit Sub
    End If
    Set h2 = Hoja1
    u = h2.Range("B" & Rows.Count).End(xlUp).Row
    If u < 5 Then u = 5
    h2.Range("B5:E" & u).ClearContents
    h2.Range("E3") = ComboBox3
    fec1 = ComboBox1
    fec2 = ComboBox2
    u = Hoja22.Range("D" & Rows.Count).End(xlUp).Row
    If Hoja22.AutoFilterMode Then Hoja22.AutoFilterMode = False
    Hoja22.Range("A4:DJ" & u).AutoFilter Field:=4, Criteria1:=muestra
    Set rango = Hoja22.Range("D5:D" & u).SpecialCells(xlCellTypeVisible)
    Set b = Hoja22.Rows(3).Find(ComboBox3)
    If Not b Is Nothing Then
        col = b.Column + 2
    End If
    j = 5
    For Each f In rango
        If Hoja22.Cells(f.Row, "B").MergeCells Then
            fec = Hoja22.Cells(f.Row, "B").MergeArea.Cells(1, 1)
            idm = Hoja22.Cells(f.Row, "C").MergeArea.Cells(1, 1)
            If fec >= fec1 And fec <= fec2 Then
                h2.Cells(j, "B") = fec
                h2.Cells(j, "C") = idm
                h2.Cells(j, "D") = muestra
                h2.Cells(j, "E") = Hoja22.Cells(f.Row, col)
                j = j + 1
            End If
        End If
    Next
End Sub

Si cambias la fecha que tienes en las celdas combinadas de la columna B, hay que hacer cambios en la macro.

Saludos. Dante Amor

Recuerda valorar la respuesta.

Añade tu respuesta

Haz clic para o