Filtrar en Listbox por varios Criterios desde un Combobox.
Expertos,
Aclaro, antes que nada, No tengo la experiencia de un experto en vba, fui armando macros según la necesidad de mi trabajo día a día y cada vez gusta mas!.
Bien, les comento mi situación:
En un formulario al iniciarlo llenamos un Listbox1 con datos de Hoja1 ya con filtro establecido "Pendiente", posteriormente en un Combobox elegimos nombre de un cliente y este nos filtra según condición de este cliente y sus "Vencidos".
Intento hacer que al filtrar en el ultimo paso, pueda poner mas de una condición ya que necesito filtrar "Vencido" & "Faltan 7 días" & "Faltan 1 días".
Le comparto el código que estoy usando.
Private Sub llamabclientependiente1_Click() Dim fin As Long, i As Long, n As Long Dim sCadena_1 As String, sCadena_2 As String, sCadena_3 As String 'Una vez filtrados los datos por Clientes, filtramos por Situacion Dim HOJJA As Worksheet Set HOJJA = Sheets("Hoja1") With HOJJA fin = Application.CountA(HOJJA.Range("A:A")) Bclientespendiente = Clear Me.ListBox1.ColumnCount = 15 ListBox1.List = HOJJA.Range("A2:O" & fin).Value ListBox1.Clear For i = 2 To fin sCadena_1 = .Cells(i, 10).Value sCadena_2 = .Cells(i, 3).Value sCadena_3 = .Cells(i, 13).Value If UCase(sCadena_1) Like "*" & UCase("Pendiente") & "*" And _ UCase(sCadena_2) Like "*" & UCase(Bclientependiente.Value) & "*" And _ UCase(sCadena_3) Like "*" & UCase("Vencido") & "*" Then Me.ListBox1.AddItem Me.ListBox1.List(n, 0) = .Cells(i, 1).Value Me.ListBox1.List(n, 1) = .Cells(i, 2).Value Me.ListBox1.List(n, 2) = .Cells(i, 3).Value Me.ListBox1.List(n, 3) = .Cells(i, 4).Value Me.ListBox1.List(n, 4) = .Cells(i, 5).Value Me.ListBox1.List(n, 5) = .Cells(i, 6).Value Me.ListBox1.List(n, 6) = .Cells(i, 7).Value Me.ListBox1.List(n, 7) = .Cells(i, 8).Value Me.ListBox1.List(n, 8) = .Cells(i, 9).Value Me.ListBox1.List(n, 9) = .Cells(i, 10).Value Me.ListBox1.List(n, 10) = .Cells(i, 11).Value Me.ListBox1.List(n, 11) = .Cells(i, 12).Value Me.ListBox1.List(n, 12) = .Cells(i, 13).Value Me.ListBox1.List(n, 13) = .Cells(i, 14).Value Me.ListBox1.List(n, 14) = .Cells(i, 15).Value n = n + 1 End If Next For i = 0 To ListBox1.ListCount - 1 Me.ListBox1.List(i, 7) = Format(ListBox1.List(i, 7), "$#,##0.00") Next i Me.ListBox1.ColumnWidths = "180;75;00;0;70;00;60;73;00;60;00;00;60;00;00;00;00;00;00;00" End With Set HOJJA = Nothing Image5.Visible = True Set HOJJA = Nothing End Sub
1 respuesta
Respuesta de Dante Amor
1