Seleccionar datos de un combobox según los datos elegidos de otro combobox

Tengo en un combobox el nombre de una serie de bancos, y en otro combobox todas las cuentas que tengo de esos bancos, y yo quisiera que al seleccionar en el primero un banco, me saliera en el segundo combobox, solo las cuentas del banco elegido.

Algun experto podría ayudarme.

1 respuesta

Respuesta
2

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

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas