Como buscar y/o filtrar en un listbox con ayuda de un texbox
Bueno tengo un listbox que ciertamente me filtra las palabras, pero tengo que insertar la primera letra de la palabra que busco para que se pueda filtrar.
Tengo un código para filtrar parte del texto y no es necesario tener que ingresar la primera letra para que busque la palabra. Es decir filtra parte de todo el texto y no solo de la palabra inicial.
Tengo el código pero no se como adaptarlo.
POR FAVOR un poco de ayuda me caería muy bien.
Este es el código que tengo
Private Sub TextBox1_Change() 'Por.DAM Application.ScreenUpdating = False campo1 = IIf(TextBox1 = "", "", TextBox1 & "*") filtrar Application.ScreenUpdating = True End Sub Private Sub filtrar() 'Por.DAM 'filtra los datos Set t = Sheets("temp") t.Cells.Clear Set h2 = Sheets("PRODUCTOS") With h2 u = .Range("A" & Rows.Count).End(xlUp).Row With .Range("A1:E" & u) If campo1 <> "" Then .AutoFilter Field:=2, Criteria1:=campo1 .Copy t.Range("A1") Else Me.ListBox1 = "" End If End With If .AutoFilterMode Then .Range("A1").AutoFilter 'If .FilterMode Then .ShowAllData End With u = t.Range("A" & Rows.Count).End(xlUp).Row If u > 1 Then ListBox1.ColumnHeads = False ListBox1.RowSource = t.Name & "!A2:B" & u End If Set h2 = Nothing Set t = Nothing End Sub
Y ESTE ES EL CODIGO QUE DESEO ADAPTARLE PARA QUE EL FILTRO ME BUSQUE PARTE DEL TEXTO
Private Sub TextBox1_Change() ListBox1.Clear valor = TextBox1.Value Set busca = Sheets("personal").Range("a1:e54").Find(valor, LookIn:=xlValues, lookat:=xlPart) If Not busca Is Nothing Then ubica = busca.Address Do ubica2 = "$A$" & busca.Row ListBox1.AddItem Range(ubica2) i = ListBox1.ListCount - 1 ListBox1.List(i, 1) = Range(ubica2).Offset(0, 1) ListBox1.List(i, 2) = Range(ubica2).Offset(0, 2) ListBox1.List(i, 3) = Range(ubica2).Offset(0, 3) ListBox1.List(i, 4) = Range(ubica2).Offset(0, 4) Set busca = Sheets("personal").Range("a1:e54").FindNext(busca) Loop While Not busca Is Nothing And busca.Address <> ubica End If End Sub
Respuesta de Dante Amor
2
1 respuesta más de otro experto
Respuesta de Luis Daniel Rodriguez Acuña
2