Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Combobox Dependientes

| 12 comentarios

Con la finalidad de crear dos listas (Combobox) dependientes emplearemos los siguientes códigos:

Relacionado a la activación del Userform agregaremos el código siguiente:

Private Sub UserForm_Activate()
Sheets("Pais").Select

ultimaFila = Columns("A:A").Range("A65536").End(xlUp).Row
For cont = 2 To ultimaFila

If Cells(cont, 1) <> "" Then
ComboBox1.AddItem (Cells(cont, 1))

End If
Next

Sheets("Inicio").Select
End Sub

Este Codigo agrega una lista de Paises a Combobox 1.

Posteriormente agregamos el siguiente codigo relacionado al evento de Combobox1 Change, es decir cada ves que escojas una de las opciones de la lista.

Private Sub ComboBox1_Change()

ComboBox6.Clear

Sheets("Codigos").Select

columna1 = ComboBox1.ListIndex + 1

Cells(2, columna1).Select
ultimaFila = Columns("A:A").Range("A65536").End(xlUp).Row
For cont = 2 To ultimaFila

If Cells(cont, columna1) <> "" Then
ComboBox6.AddItem (Cells(cont, columna1))

End If

Next

Sheets("Inicio").Select
End Sub

Este codigo termina condicionando la lista desplegable que sale en el combobox6 en funcion a lo escogido en el combobox1, cabe resaltar que el combobox1 jala el contenido de su lista de la hoja "Pais" y el combobox 6 jala su contenido de la hoja "codigo".

Elaboracion de Combobox dependiente

Elaborado por: Luis Gaitán

12 comentarios

  1. Saludos, quisiera saber como tener 3 combobox dependientes que uno jale la informacion del otro combobox pero que jale la información para los combobox desde una misma hoja en comun.

    Gracias de antemano.

  2. Estimado Luis y Fernando,
    Como seria el codigo si tuviera tres combobox dependientes...

  3. muy bueno, pero me gustaria como se hace para tres combobox dependientes

  4. Hola! Excelente explicación. Respondió mi consulta de manera clara y sencilla, y esto considerado que soy aficionado y recién programando. Saludos, y gracias!

  5. Buenos días. Requiero ayuda. Tengo una base de información de pacientes con sus datos (fecha de nacimiento, correo, número de teléfono, etc.) y quiero hacer consultas por los nombres de los pacientes que previamente se cargan en un combobox al abrir el formulario, y que al seleccionar uno de ellos me muestre sus demás datos en un textbox creado para cada cosa. Esto lo he podido realizar sin problemas, pero únicamente cuando los nombres de los pacientes están listados en una misma columna de excel, pero lamentablemente los nombres de los pacientes están guardados en 6 columnas diferentes de la misma página de excel... logro hacer la carga de los datos de las seis columnas en el mismo combobox, pero sólo me busca en la primera columna, y no en las cinco restantes

  6. estimado me salio un error 1004 en esta linea
    ultimaFila = Columns("A:A").Range("A65536").End(xlUp).Row

    que puedo hacer?

    • A veces al copiar y pegar el código la comillas dobles aparecen inclinadas, reemplácelas por las comillas dobles normales, lo mejor es descargar el adjunto al final del artículo en el cual el programa está funcionando.

  7. mi estimado una duda, en el ejemplo de la pestaña codigos solo llega hasta la fila 18, como se le incrementa mas filas.

  8. Estimado Fernando, ¿como podría hacer para que el combo2 no tuviera valores duplicados?
    Gracias de antemano.

  9. ayuda
    tengo una lista,Donde Registro Clientes a su vez cada cliente tien varios proyectos.
    Meta el Vicular El primer ComboBox los Clientes y en el Segundo ComBox Los Proyectos,Cada selecion por cluiente se llame a sus Proyecto.
    En este ultimo tengo problemas la Lista se encuatra en una hoja diferente ala de registro (Descraga) ya la llamo desde un userform

  10. Ayuda Urgente
    Hola a todos alguien puede ayudarme a conseguir dos combobox de doble entrada, quiero decir que si coloco en el combo1(Nombre del codigo) me aparezca en el combo2 su código.
    Y viceversa si presiono en el combo2 (código) me de como resultado en el combo1 (nombre del código)
    alguien tiene alguna noción por favor o alguna pista para hacerlo
    Gracias Muchas Gracias de antemano

  11. en el combobox 1 funciona bien, pero en el 2 solo me devuelve tres, incluso cuando lo copie directamente del ejemplo

Deja una respuesta

Los campos requeridos estan marcados con *.