4 combobox dependientes en un userform

Tengo un primer combobox1 donde se van a cargar dos nombres:willian, jose

Como hago para que al seleccionar willian en el combobox2 me cargue mi apellido=vargas

Y en el tercer combobox3 me cargue mi segundo apellido=ramírez, en el cuarto combobox me cargue mi profesión=electrónico.

Y si selecciono jose en el primer combobox, que en el segundo combobox2 me cargue su

apellido=rodriguez y en el tercer combobox3 me cargue su otro apellido=linares,

Y en el cuarto combobox4 me cargue su profesión=electricista

1 respuesta

Respuesta
2

Espero estés bien.

Te adjunto un linck con el ejemplo.

Para armarlo se necesitan, listas de nombres, nombre de rangos y un pequeño código de VBA.

Si necesitas alguna aclaración de como o porque se hace no dudes en consultar.

https://www.dropbox.com/s/9gff33utbznrbdm/Ejemplo%20de%20Autocompletar%20TextBox.xlsm

Bendiciones!

Lucas.

buenas tardes gracias por su ayuda y me ha ayudado bastante ,por favor me gustaría

que me explicara a detalle lo que hace el código q realmente no lo entiendo.

gracias por su ayuda.

saludos,willian desde perú....!!

Espero estés bien.

Te cuento que se creo una macro para que abra un formulario.

Sub Abrir()
UserForm1.Show
End Sub

Se creo en la hoja de datos una tabla. De la misma tabla se obtienen dos listas. "Nombre" y "Rangos".

Se creo un ComboBox y 3 TextBox. A la instrucción de Exit del ComboBox (esto quiere decir, que suceda luego que salgo del ComboBox) se crea el siguiente código:

Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dato = ComboBox1
Set Busco = Sheets("Hoja1").Range("Rango").Find(Dato, LookIn:=xlValues, lookat:=xlWhole)
If Not Busco Is Nothing Then
TextBox1 = Busco.Offset(0, 1)
TextBox2 = Busco.Offset(0, 2)
TextBox3 = Busco.Offset(0, 3)
Else
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
End If
End Sub

Se determina el "Dato". Va a estar ubicado en ComboBox1

Luego se una una instrucción de buscqueda, en Hoja 1, en el "Rango". Si encuentra el dato Then (entonces) completar el TextBox 1 con la celda donde esta "Busco" pero una mas a la derecha, por eso Busco.Offset (0,1). Lo mismo con el 2 y el 3.

Si no encuentra el valor "Busco" entonces deja los TextBox = "" (nada).

Bendiciones!

Lucas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas