Comboboxs dependientes en una hoja de excel

Tengo en una hoja de excel la Columna A perteneciente al Distribuidor1 con la siguiente informacion;

Distribuidor1

Departamento1

Departamento2

Etc

En la otra columna se encuentra el Distribuidor2, con el departamento 3, Departamento4, etc. Y así sucesivamente. Lo que quiero hacer es que en un ComboBox muestre a los distribuidores y en el ComboBox muestre los departamentos del distribuidor que seleccione. He buscado formas pero solamente me ha fucionado haciendo un formulario pero lo que quiero es que salga en la misma hoja y no en una ventana emergente.

3 Respuestas

Respuesta
1

Si en tu hoja tienes combobox de controles activex, utiliza la siguiente macro

Private Sub ComboBox1_Change()
'Por.Dante Amor
    ComboBox2.Clear
    If ComboBox1.ListIndex = -1 Then Exit Sub
    c = ComboBox1.ListIndex + 1
    For i = 2 To Cells(Rows.Count, c).End(xlUp).Row
        ComboBox2.AddItem Cells(i, c)
    Next
End Sub
Private Sub ComboBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Por.Dante Amor
    ComboBox1.Clear
    For i = 1 To Cells(1, Columns.Count).End(xlToLeft).Column
        ComboBox1.AddItem Cells(1, i)
    Next
End Sub

Tu información debe estar en esta forma


Muchas gracias Dante, muy agradecido por tu ayuda, pero tengo un problema, no se como se ingresa el código, corrígeme si estoy haciendo mal algo:

Abro excel (.xlms) y copio mis columnas

En la pestaña Developer/Insert(Combobox ActiveX) y pongo los dos combobox en la misma hoja (¿puedo hacerlo en una hoja diferente?)

Lo que yo hago es que le doy doble click al combobox1 y pego el código que me diste, pero después no se que hacer.

Muchas gracias por tu ayuda

Saludos cordiales,

Fernando

Envíame tu archivo con tus combos tal y como los necesitas y le adapto el código.

Gracias Dante, te acabo de enviar el correo

Saludos

Fernando

Así quedan las macros para cargar en otra hoja

Private Sub ComboBox1_Change()
'Por.Dante Amor
    ComboBox2.Clear
    If ComboBox1.ListIndex = -1 Then Exit Sub
    c = ComboBox1.ListIndex + 1
    Set h = Sheets("datos")
    For i = 2 To h.Cells(Rows.Count, c).End(xlUp).Row
        ComboBox2.AddItem h.Cells(i, c)
    Next
End Sub
Private Sub ComboBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Por.Dante Amor
    ComboBox1.Clear
    Set h = Sheets("datos")
    For i = 1 To h.Cells(1, Columns.Count).End(xlToLeft).Column
        ComboBox1.AddItem h.Cells(1, i)
    Next
End Sub
Respuesta

Yo encontré un artículo que tal vez pueda servirte

http://exceltotal.com/como-cargar-datos-un-combobox-en-excel/ 

Ese es el link, suerte con eso

Respuesta

en el lik tienes un ejemplohttp://www.programarexcel.com/2014/12/combobox-depende-otro-combobox-carga.html?m=1Y en este otro un monton de ejemplos mashttp://www.programarexcel.com/p/home.html?m=1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas