Problemas en ComboBox dependiente dentro de un formulario de Excel

Auxiliooo por favor!

Tengo problema con dos ComBobox, necesito que uno sea dependiente de otro en una lista de datos horizontal. Anteriormente tuve ayuda de un experto para resolver esta pregunta, sin embargo cerré la pregunta sin percatar que el código que me envió sólo funciono de momento y después dejo de hacerlo... Intente lo que pude para ver sí podía arreglarlo pero de repente funcionaba y de repente dejaba de hacerlo nuevamente.

Mis datos se ordenan de la siguiente manera, se encuentran en la hoja2 (Catalogo) y quiero ingresarlos a la hoja1 (Registro):

ComboBox1 (CUENTA) - Celda (B10:B109) / ComboBox2 (SUBCUENTA) - 10 Celdas a la derecha, (Celdas D1:M1 )

La columna "A" esta vacía y la columna "C" esta ocupada por otro valor.

         B               ___ D                        E                 ____  F... _________ M.

10    Aves        Carpintero            Cotorra           Perico ...

11   Caninos   Chihuahueño       Salchicha        Bulldog...

12   Felinos     Tigre                     León                 Puma...

13...109

El código que tengo es el siguiente:

Private Sub UserForm_Activate()
Set h = Sheets("Catalogo")
    ComboBoxCUENTA.RowSource = h.Name & "!B10:B" & h.Range("B" & Rows.Count).End(xlUp).Row
End Sub
Private Sub ComboBoxCUENTA_Change()
    Set h = Sheets("Catalogo")
'    If ComboBoxCUENTA = "" Then Exit Sub
    If ComboBoxCUENTA.ListIndex = -1 Then Exit Sub
    f = ComboBoxCUENTA.ListIndex + 10 'Fila desde donde va comenzar el ComboBox2
    ComboBoxSUBCUENTA.Clear
    Set h = Sheets("Catalogo")
    u = h.Cells(f, Columns.Count).End(xlToLeft).Column
    For j = 4 To u  'Columna desde la cual va a comenzar ComboBox2
        ComboBoxSUBCUENTA.AddItem h.Cells(f, j)
    Next
End Sub

Probablemente éste cometiendo un error muy simple, porque de momento funcionaba y ahora dejo de hacerlo. 

Me gustaría poder adjuntar mi archivo, pero no veo como hacerlo.

1 Respuesta

Respuesta
1

Te anexo las macros actualizadas

Private Sub ComboBoxCUENTA_Change()
'Por.Dante Amor
    ComboBoxSUBCUENTA.Clear
    If ComboBoxCUENTA = "" Then Exit Sub
    If ComboBoxCUENTA.ListIndex = -1 Then Exit Sub
    f = ComboBoxCUENTA.ListIndex + 10 'Fila desde donde va comenzar el ComboBox2
    Set h = Sheets("Catalogo")
    u = h.Cells(f, Columns.Count).End(xlToLeft).Column
    For j = 4 To Columns("M").Column  'Columna desde la cual va a comenzar ComboBox2
        ComboBoxSUBCUENTA.AddItem h.Cells(f, j)
    Next
End Sub
'
Private Sub UserForm_Initialize()
'Por.Dante Amor
    Set h = Sheets("Catalogo")
    ComboBoxCUENTA.RowSource = h.Name & "!B10:B" & h.Range("B" & Rows.Count).End(xlUp).Row
End Sub

' : )
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
' : )

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas