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
1

Revisa el siguiente ejemplo

https://youtu.be/ch7sb2Mh_Ow 

Sal u dos Dante Amor.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas