Filtro en combobox que llene listbox

Buenas tardes:

Quiero realizar unos filtros para un formulario, donde el combobox sea llenado con este filtro y al momento de apretar un botón el Listbox se llene con los datos que tiene la base de datos, tengo un archivo que estoy tratando de adaptar a lo que necesito pero me manda error, ojala y alguien me pueda ayudar.

saludos.

1 respuesta

Respuesta
1

Envíame tu archivo con el formulario y en la hoja explícame con ejemplos qué es lo que necesitas.

Buenos días Dante:

Ya te envíe el archivo con la información.

Saludos. Y gracias de antemano.

No encontraba la macro "filtrado" porque la tenías como private, así quedó la macro

Sub Filtrado()
    Set h1 = Sheets("CLIENTES")
    h1.Columns("Y:AR").ClearContents
    h1.Columns("A:T").AdvancedFilter _
        Action:=xlFilterCopy, _
        CriteriaRange:=h1.Range("W1:W2"), _
        CopyToRange:=h1.Range("Y1"), _
        Unique:=False
End Sub

El código del botón 1 quedó así

Private Sub botonMOSTRAR_Click()
'Mod.Por.Dante Amor
    Application.ScreenUpdating = False
    Sheets("CLIENTES").[W2] = ComboBoxNOMBRE
    Filtrado
    ListBox1.RowSource = "CLIENTES!Y2:AR" & Sheets("CLIENTES").Range("Y" & Rows.Count).End(xlUp).Row
End Sub

El rango del listbox lo estoy definiendo dentro del código.

La propiedad de encabezados del listbox la puse = true


Te envié el archivo con los cambios.

Saludos. Dante Amor

No olvides valorar la respuesta.

Hola Dante:

Muchas gracias por el archivo, es necesario para poder hacer el filtro que se copie en "CLIENTES!Y2:AR" , esto con el fin de no hacer tan largo el código

Saludos.

No entendí tu último comentario: "es necesario para poder hacer el filtro que se copie en "CLIENTES! Y2:AR", esto con el fin de no hacer tan largo el código"

Recuerda valorar la respuesta.

Creo que es pregunta lo que me hiciste.

Lo que pasa es que el resultado del filtro avanzado está quedando en la hoja "Clientes"

Por eso estoy tomando desde clientes los datos para llenar el listbox, pero puedes poner el resultado del filtro en la hoja que quieras y luego desde esa hoja llenar el listbox. Por ejemplo, si lo quieres hacer en la hoja2

Esto quedaría en tu módulo1

Sub Filtrado()
    Set h1 = Sheets("CLIENTES")
    Set h2 = Sheets("Hoja2")
    h2.Columns("A:AR").ClearContents
    h1.Columns("A:T").AdvancedFilter _
        Action:=xlFilterCopy, _
        CriteriaRange:=h1.Range("W1:W2"), _
        CopyToRange:=h2.Range("A1"), _
        Unique:=False
End Sub

Y en el botón1

Private Sub botonMOSTRAR_Click()
'Mod.Por.Dante Amor
    Application.ScreenUpdating = False
    Sheets("CLIENTES").[W2] = ComboBoxNOMBRE
    Filtrado
    ListBox1.RowSource = "Hoja2!A2:T" & Sheets("Hoja2").Range("A" & Rows.Count).End(xlUp).Row
End Sub

Si te das cuenta es el mismo código, sólo cambie las hojas.

Hola Dante:

Estoy copiando este código para otro formulario pero no me correo, podrías ayudarme.

saludos.

Si quieres que revise tu formulario, valora esta respuesta y crea una nueva pregunta por cada petición.

Te envié el archivo para cargar en el formulario 6, hice varias correcciones.

Saludos. Dante Amor

Recuerda valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas