Todo depende de cómo tienes los bancos y las cuentas en tu hoja.
En este ejemplo, en la hoja "Bancos", los bancos están en la columna A y las cuentas en la columna B:
Tienes que cargar los bancos en el combo1 en el evento Activate, y en el evento Change del combo1 se cargarán las cuentas:
Private Sub ComboBox1_Change()
'Por.Dante Amor
'carga cuentas
'
ComboBox2 = ""
ComboBox2.Clear
If ComboBox1 = "" Or ComboBox1.ListIndex = -1 Then
Exit Sub
End If
Set h = Sheets("Bancos")
For i = 2 To h.Range("A" & Rows.Count).End(xlUp).Row
If h.Cells(i, "A") = ComboBox1.Value Then
ComboBox2.AddItem h.Cells(i, "B")
End If
Next
End Sub
'
Private Sub UserForm_Activate()
'
'carga los bancos en el combo1
Set h = Sheets("Bancos")
For i = 2 To h.Range("A" & Rows.Count).End(xlUp).Row
Call agregar(ComboBox1, h.Cells(i, "A"))
Next
End Sub
'
Sub agregar(combo As ComboBox, dato As String)
'por.DAM agrega los item únicos y en orden alfabético
For i = 0 To combo.ListCount - 1
Select Case StrComp(combo.List(i), dato, vbTextCompare)
Case 0: Exit Sub 'ya existe en el combo y ya no lo agrega
Case 1: combo.AddItem dato, i: Exit Sub 'Es menor, lo agrega antes del comparado
End Select
Next
combo.AddItem dato 'Es mayor lo agrega al final
End Sub
Nota: el procedimiento Agregar( ) es para agregar los banco únicos y de forma ordenada.
.
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
.
Avísame cualquier duda
.