Saltar al contenido

Buscador en ListBox VBA


Recommended Posts

publicado

Buenas tardes, tengo un formulario con un listbox que muestra datos de otro libro, también tiene un botón modificar, eliminar, pero me falta agregar un buscador, lo he intentado hacer pero me sale error, necesito de su ayuda, espero me pueda ayudar

 

de antemano muchas gracias

baseprueba.xlsx InicioPrueba.xlsm

publicado

Simplemente te reemplace esta  línea ListBoxLista.Clear  por ListBoxLista.RowSource = "", el resto del código es tuyo, de todos modos si necesitas una explicación del mismo te subo tu código comentariado.

** Cuando se usa RowSource para cargar ListBox no se puede borrar este con Clear, si no que tienes que usar la propiedad RowSource="" para borrarlo.

Private Sub BtnBuscar_Click()

    Dim fin As Long, i As Long, n As Long
    Dim sCadena_seccion As String
    
    Set FILTRAR = ActiveWorkbook.Worksheets("Listado")
       
    
    With FILTRAR
        fin = Application.CountA(.Range("A:A"))
        If TxtBuscador = "" Then
            Me.ListBoxLista.RowSource = ("A2:G") & FILTRAR.Range("A" & Rows.Count).End(xlUp).Row
            Exit Sub
        End If
        
        For i = 2 To fin
            sCadena_seccion = .Cells(i, 1).Value
            If UCase(sCadena_seccion) Like "*" & UCase(TxtBuscador.Value) & "*" Then
                ListBoxLista.RowSource = ""
                
                Me.ListBoxLista.AddItem
                Me.ListBoxLista.List(n, 0) = .Cells(i, 1).Value
                Me.ListBoxLista.List(n, 1) = .Cells(i, 2).Value
                Me.ListBoxLista.List(n, 2) = .Cells(i, 3).Value
                Me.ListBoxLista.List(n, 3) = .Cells(i, 4).Value
                Me.ListBoxLista.List(n, 4) = .Cells(i, 5).Value
                Me.ListBoxLista.List(n, 5) = .Cells(i, 6).Value
                Me.ListBoxLista.List(n, 6) = .Cells(i, 7).Value
                n = n + 1
            End If
        Next
        Me.ListBoxLista.ColumnWidths = "30pt;150pt;150pt;50pt;50pt;60pt;60pt"
    End With
End Sub

 

publicado

Excelente, muchas gracias, pero me ha surgido algo inesperado

cuando hago click en un registro del listbox, ese registro me lo traslada a los textbox para luego poder modificarlo (Boton Modificar)y todo bien, pero el problema viene al hacer el filtro. 

cuando eligo el registro filtrado, y al modificarlo (Boton Modificar), me modifica siempre el primer registro, es decir no me modifica el registro que realmente filtre.

puedes hacer una prueba por favor.

* **** además de ellos al momento de filtrar tambien quisiera mostrar las cabeceras de la tabla. 

muchas gracias

baseprueba.xlsx InicioPrueba.xlsm

  • 1 month later...

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.