Bva excel ¿Como hacer un filtrado en un listBox con tres TextBox?
Tengo un formulario que contiene un lixtbox y tres Textbox. El lixtbox me muestra los registros en mi base de datos. Lo que necesito es que cuando escriba en el Textbox1 me filtre los datos que estoy colocando, posteriormente cuando escriba el valor en el lixtBox2 me filtre igual los datos que busco pero que matenga los que ya filtro en el lixbox1 y con el tercero que haga lo mismo pero que me mantenga los valores que ya filtre en los dos textBox.
Este código lo implemente es los 3 y si filtra. Pero hace un filtrado en general...
Private Sub TextBox1_Change()
On Error Resume Next
Set b = Sheets("Formulario")
uf = b.Range("A" & Rows.Count).End(xlUp).Row
If Trim(TextBox1.Value) = "" Then
'Me.ListBox1.List() = b.Range("A2:H" & uf).Value
'Me.ListBox1.RowSource = "Hoja2!A2:H" & uf
End If
b.AutoFilterMode = False
Me.ListBox1.Clear
Me.ListBox1.RowSource = Clear
'Adiciona un item al listbox reservado para la cabecera
UserForm1.ListBox1.AddItem
For i = 2 To uf
strg = b.Cells(i, 1).Value
If UCase(strg) Like UCase(TextBox1.Value) & "*" Then
Me.ListBox1.AddItem b.Cells(i, 1)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = b.Cells(i, 2)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 2) = b.Cells(i, 3)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 3) = b.Cells(i, 4)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 4) = b.Cells(i, 5)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 5) = b.Cells(i, 6)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 6) = b.Cells(i, 7)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 7) = b.Cells(i, 8)
End If
Next i
'Carga los datos de la cabecera en listbox
For ii = 0 To 8
UserForm1.ListBox1.List(0, ii) = Sheets("Formulario").Cells(1, ii + 1)
Next ii
'Me.ListBox1.ColumnWidths = "20 pt;70 pt;180 pt;80 pt;60 pt;60 pt;60 pt;60pt"
End Sub