Te paso la macro con los ajustes del combo cliente
Private Sub cmbcliente_Change()
On Error Resume Next
Dim clientes, FACTURA As Range
Dim cuenta, NFACTURA, FILA As Integer
Dim CLIENTE As String
Dim FACTURAS As String
Dim M As Integer
'
Set clientes = Range("CLIENTES")
CLIENTE = cmbcliente.Value
With clientes
cuenta = WorksheetFunction.CountIf(.Columns(1), CLIENTE)
FILA = WorksheetFunction.Match(CLIENTE, .Columns(1), 0)
Set FACTURA = .Rows(FILA).Resize(cuenta)
FACTURA.Select
txtfact1.Clear
For M = 1 To FACTURA.Rows.Count
NFACTURA = FACTURA.Cells(M, 3)
If WorksheetFunction.IsText(NFACTURA) = False Then
txtfact1.AddItem NFACTURA
End If
Next M
End With
Set clientes = Nothing: Set FACTURA = Nothing
On Error GoTo 0
'
' CARGA EL 1ER COMBOBOX CON EL No FACTURA SOLO DE ESTE CLIENTE
indicecliente = cmbcliente.ListIndex + 1020 'GUARDA EN MEMORIA EL CODIGO DEL CLIENTE
Dim i As Integer
Txtfact1. Clear 'borra el contenido del combobox para que cada vez que elija un cliente, muestre las facturas correspondientes
txtfact2. Clear
txtfact3. Clear
txtfact4. Clear
txtfact5. Clear
txtfact6. Clear
txtfact7. Clear
txtfact8. Clear
'
With Sheets("facturas")
For i = 2 To .Range("A" & Rows.Count).End(xlUp).Row ' VA DESDE LA FILA 2 HASTA LA ULTIMA POSICION CON EL TOTAL DE FILAS
If .Cells(i, 1).Value = indicecliente And .Cells(i, 17) <> "CANCELADO" Then ' APLICA 2 CONDICIONES
txtfact1.AddItem .Cells(i, 4).Value
txtfact2.AddItem .Cells(i, 4).Value
txtfact3.AddItem .Cells(i, 4).Value
txtfact4.AddItem .Cells(i, 4).Value
txtfact5.AddItem .Cells(i, 4).Value
txtfact6.AddItem .Cells(i, 4).Value
txtfact7.AddItem .Cells(i, 4).Value
txtfact8.AddItem .Cells(i, 4).Value
End If
Next i
End With
Sheets("recibos").Select
End Sub