Doble o triple filtrado de datos sobre un listbox
Tengo este formulario donde tengo varias formas de filtrar los datos en el listbox, por cada combobox un botón de filtro que funciona bajo el siguiente código
Private Sub CommandButton5_Click() Application.ScreenUpdating = False On Error goto Errores If cmbMomento.Value = "" Then Exit Sub Worksheets("Recetas").Select Me.ListBox1.Clear j = 1 For i = 4 To 1000 If Cells(i, j).Value = cmbMomento.Value Then 'If LCase(Cells(i, j).Value) Like “ * ” & LCase(Me.TxtFiltro4.Value) & “ * ” Then Me.ListBox1.AddItem Cells(i, j) Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Cells(i, j).Offset(0, 1) Me.ListBox1.List(Me.ListBox1.ListCount - 1, 2) = Cells(i, j).Offset(0, 2) Me.ListBox1.List(Me.ListBox1.ListCount - 1, 3) = Cells(i, j).Offset(0, 3) Else End If Next i Exit Sub Errores: MsgBox "No se encuentra en la base de datos", vbExclamation, "¡ATENCIÓN!" Application.ScreenUpdating = True End Sub
Quiero, por un lado, colocar únicamente un botón de filtrado en vez de tener 4 botones y que dicho botón funcione para cualquiera de los item que estén en los combobox, así si solo hay un item en combo1 filtra sólo por ese ítem, si hay 2 ítem en combo1 y combo 2, filtrará según los dos en el listbox.
1 respuesta
Respuesta de Dante Amor
1