Discussion:
lista desplegable condicionada
(demasiado antiguo para responder)
Tux
2006-12-15 20:21:22 UTC
Permalink
¿Puedo crear una lista condicionada al resultado de otra lista desplegable en
Word?
El tema es que necesito crear una ficha en que los valores de una lista van
en función del resultado de otra lista anterior.
Es decir, en la lista "1" debo poder elegir entre 3 valores "A", "B" y "C",
mientras que en la lista "2" los valores elegibles dependen de la respuesta
de la lista "1", si en "1" he elegido "A" en "2" puedo elegir "x","y"; si en
"1" he elegido "B" en "2" puedo elegir "y" o "z" y si en "1" he elegido "C"
en "2" sólo puedo elegir "z".
Gracias por vuestra ayuda
Hola Joan :-)

Pues no se como podria ayudarte en esto porque en excel si que se pero
claro con codigo y el codigo de word no es como el de excel. Imagino que
quieres unir dos listas desplegables no¿? :-(

Comentanos :-)

Saludos
Monica
--
¡Un SAludo! :-)

www.fermu.com
www.zorval.es
Joan
2006-12-16 10:34:00 UTC
Permalink
Mónica:

Exacto, necesito unir dos listas desplegables, en las cuales, según la
"opción" o "respuesta" que elijas en las primera lista, te aparezcan en las
segunda lista unas opciones o unas otras.

Yo de programación en código no tengo ni idea, ni en word ni en excel, pero
a lo mejor si me indicas cómo lo haces en excel, por certa analogia podría
"adaptarlo".

Muchas gracias
Post by Tux
¿Puedo crear una lista condicionada al resultado de otra lista desplegable en
Word?
El tema es que necesito crear una ficha en que los valores de una lista van
en función del resultado de otra lista anterior.
Es decir, en la lista "1" debo poder elegir entre 3 valores "A", "B" y "C",
mientras que en la lista "2" los valores elegibles dependen de la respuesta
de la lista "1", si en "1" he elegido "A" en "2" puedo elegir "x","y"; si en
"1" he elegido "B" en "2" puedo elegir "y" o "z" y si en "1" he elegido "C"
en "2" sólo puedo elegir "z".
Gracias por vuestra ayuda
Hola Joan :-)
Pues no se como podria ayudarte en esto porque en excel si que se pero
claro con codigo y el codigo de word no es como el de excel. Imagino que
quieres unir dos listas desplegables no¿? :-(
Comentanos :-)
Saludos
Monica
--
¡Un SAludo! :-)
www.fermu.com
www.zorval.es
Tux
2006-12-16 12:15:08 UTC
Permalink
Post by Joan
Exacto, necesito unir dos listas desplegables, en las cuales, según la
"opción" o "respuesta" que elijas en las primera lista, te aparezcan en las
segunda lista unas opciones o unas otras.
Yo de programación en código no tengo ni idea, ni en word ni en excel, pero
a lo mejor si me indicas cómo lo haces en excel, por certa analogia podría
"adaptarlo".
Muchas gracias
Hola Joan :-)

Mejor aun te voy a explicar como hacerlo en word :-) porque lo he
resuelto pero es un poco liadito el tema asi que me lo voy a preparar y
en unas horas te lo cuelgo aqui ok? :-)

Saludos
Monica
--
¡Un SAludo! :-)

www.fermu.com
www.zorval.es
liliana andrea ramirez vasquez
2022-11-04 02:27:29 UTC
Permalink
Buenas noches, he estado haciendo paso a paso como planteas el ejercicio, pero al probarlo me sale un mensaje que dice "No se ha definido sub o function", lo he intentado 5 veces pero siempre sale el mismo problema ¿sabes que puede estar ocasionándolo?
Tux
2006-12-16 13:08:29 UTC
Permalink
Post by Joan
Exacto, necesito unir dos listas desplegables, en las cuales, según la
"opción" o "respuesta" que elijas en las primera lista, te aparezcan en las
segunda lista unas opciones o unas otras.
Yo de programación en código no tengo ni idea, ni en word ni en excel, pero
a lo mejor si me indicas cómo lo haces en excel, por certa analogia podría
"adaptarlo".
Muchas gracias
Hola Joan :-)

Bien antes de nada si no sabes de codigo cualquier duda nos preguntas
ok? :-)

Y otra cosa mira que la seguridad de macros la tengas marcada en Medio
para ello :

Menu herramientas > Macro > seguridad > tilda o marca medio :-)

Bien te explico :-)

Haz la prueba en un documento en blanco lo guardas como quieras y en el
añades dos campos del listas desde barra formularios (ponlos separados
que se vera mejor el efecto y yo en lugar de utilizar "X, Y , Z " he
utilizado manzana, pera y limon para que se vea mejor el efecto que sino
se ven muy pequeños esos campos :-) ok? )

Una vez situados esos dos campos sin tocarlos ni hacer nada con ellos
haz lo siguiente:

Copia y pega el siguiente codigo de la siguiente manera:

Nos vamos a visual Basic, para ello Alt+F11 y se nos abre visual Basic
Word , vamos al menú Insertar y un click donde dice “Modulo” se te ha
creado un modulo 1 y en esa ventana de codigo que se te ha abierto
copias y pegas el siguiente codigo:

'---------------------------------------------------
Sub Unir_Dos_Listas()



Dim Lista As FormFields
Set Lista = ActiveDocument.FormFields
Select Case Lista("Lista_Uno").Result
Case Is = "A"
With Lista("Lista_dos").DropDown
.ListEntries.Clear
.ListEntries.Add "manzana"
.ListEntries.Add "pera"
.Value = 1
End With

Case Is = "B"
With Lista("Lista_dos").DropDown
.ListEntries.Clear
.ListEntries.Add "pera"
.ListEntries.Add "limon"
.Value = 1
End With

Case Is = "C"
With Lista("Lista_dos").DropDown
.ListEntries.Clear
.ListEntries.Add "limon"
.Value = 1
End With

End Select

End Sub

'--------------------------------------------

Una vez pegado el codigo , cierra Visual Basic y situate en el documento
, y en esos dos campos de lista que has agregado haz lo siguiente:


nos vamos a situar en el campo de lista primero que hemos puesto y
botón derecho ratón y clic en propiedades, se nos abre el cuadro de
dialogo "opciones de campo de formulario con listas deplegables", en ese
cuadro ponemos lo siguiente:

En elementos de la lista ponemos A, B, C y los agregamos , en ejecutar
macro desplegamos el desplegable y ponemos o buscamos la macro que has
acabado de poner en Visual basic word, que se llama Unir_Dos_Listas la
ponemos al entrar (mediante el desplegable ahi aparecera nuestra macro)
y tambien rellenamos donde dice al salir . En donde dice nombre del
marcador ponemos Lista_Uno y aceptar

Ahora nos vamos al otro campo de lista que hemos creado y en el ponemos
lo siguiente:

Solo rellenamos donde dice “Ejecutar macro al entrar y tambien donde
dice al salir “ y marcamos como la anterior lista. Y también rellenamos
el nombre del marcador que ponemos Lista_dos y aceptar

Una vez hecho todo esto, ya podemos darle al Candado para probar
nuestros cuadros de lista, y ya puedes ir realizando pruebas toquiñea
los dos campos y veras como resulta, Si eliges A y te vas al otro campo
(o lista_dos) y clik se te despliega Manzana y pera, Si eliges B y te
vas al otro campo (o lista_dos) se te despliega Pera y Limon y si eliges
C, pues solo limon :-)


Nos comentas ok? :-)

Saludos
Monica
--
¡Un SAludo! :-)

www.fermu.com
www.zorval.es
Joan
2006-12-16 23:32:00 UTC
Permalink
MUCHAS MUCHAS MUCHAS GRACIAS MÓNICA!!!

El "código" que me enviaste funciona muy bien, y me puede servir. Lo he
provado y, para vincular dos listas me funciona y entiendo perfectamente el
"proceso".

Ahora, en mi afán de superación, me he complicado el tema. Ahora he provado
de "unir" 3 listas, con lo cual, si me funcionara, ya sabría vincular 4,5 ó 6
listas consecutivas que a la postre es lo que necesito.

Me he puesto un ejemplo con equipos de futbol, bàsquet y divisiones. Así en
la primera lista debes elegir el deporte, en la segunda la división y en la
tercera deberían aparecer los equipos de esa división y de ese deporte en
concreto.

El cógido que he escrito no funciona muy bien, ya que no hace bien la
distinción de las divisiones por lo que el resultado de los equipos es
erroneo.

El código es:

Sub Elegir_Esports()

Dim Lista As FormFields
Set Lista = ActiveDocument.FormFields
Select Case Lista("Esport").Result
Case Is = "Futbol"
With Lista("Divisió").DropDown
.ListEntries.Clear
.ListEntries.Add "1ª Divisió"
.ListEntries.Add "2ª Divisió"
.ListEntries.Add "3ª Divisió"
.Value = 1
End With

Case Is = "Bàsquet"
With Lista("Divisió").DropDown
.ListEntries.Clear
.ListEntries.Add "Lliga ACB"
.ListEntries.Add "Lliga LEB"
.Value = 1
End With

End Select


Select Case Lista("Divisió").Result
Case Is = "1ª Divisió"
With Lista("Equip").DropDown
.ListEntries.Clear
.ListEntries.Add "Real Madrid C.F."
.ListEntries.Add "F.C. Barcelona"
.ListEntries.Add "R.C.D. Mallorca"
.Value = 1
End With

Case Is = "2ª Divisió"
With Lista("Equip").DropDown
.ListEntries.Clear
.ListEntries.Add "Real Murcia"
.ListEntries.Add "U.D. Jerez"
.Value = 1
End With

Case Is = "3ª Divisió"
With Lista("Equip").DropDown
.ListEntries.Clear
.ListEntries.Add "Constància C.F."
.ListEntries.Add "C.E. Atletic Baleares"
.ListEntries.Add "R.C.E. Mallorca B"
.Value = 1
End With

Case Is = "Lliga ACB"
With Lista("Equip").DropDown
.ListEntries.Clear
.ListEntries.Add "Unicaja Málaga"
.ListEntries.Add "TAU Cerámica"
.ListEntries.Add "DKV Badalona"
.ListEntries.Add "Menorca Bàsquet"
.Value = 1
End With

Case Is = "Lliga LEB"
With Lista("Equip").DropDown
.ListEntries.Clear
.ListEntries.Add "Drac Inca"
.ListEntries.Add "Palma Aqua Mágica"
.ListEntries.Add "León Caja España"
.Value = 1
End With
End Select
End Sub

Puedes comprovarme donde me equivoco y cómo puedo vincular 3,4,5 ó 6 listas
consecutivas.

De nuevo MUCHAS MUCHAS MUCHAS GRACIAS
Joan
2006-12-17 00:06:01 UTC
Permalink
Creo que he dado un paso más.

Al ver que si lo metía todo en una sola rutina o código, lo que he hecho ha
sido dividirlo en 2 códigos, uno que enlazaba el deporte con la división, y
otra rutina que enlazaba la división con el equipos.

De ésta forma SÍ que funciona, pero va un poco lento y tiene como
"predilección" quedarse fijado con la primera opción, así que debo meterle la
"divición" que deseo cómo mínimo dos veces, lo cual me parece engorroso.

Con éste´"método" de hacer varias rutinas, ¿es la mejor opción?, ¿puedo
meterlo en un sólo código?, ¿puede evitarse la lentitud de "refresco"?

Gracias de nuevo
Tux
2006-12-17 17:12:15 UTC
Permalink
Post by Joan
Creo que he dado un paso más.
Al ver que si lo metía todo en una sola rutina o código, lo que he hecho ha
sido dividirlo en 2 códigos, uno que enlazaba el deporte con la división, y
otra rutina que enlazaba la división con el equipos.
De ésta forma SÍ que funciona, pero va un poco lento y tiene como
"predilección" quedarse fijado con la primera opción, así que debo meterle la
"divición" que deseo cómo mínimo dos veces, lo cual me parece engorroso.
Con éste´"método" de hacer varias rutinas, ¿es la mejor opción?, ¿puedo
meterlo en un sólo código?, ¿puede evitarse la lentitud de "refresco"?
Gracias de nuevo
Hola Joan :-)

Pues si estas en lo cierto, me he fijado que estos campos de lista son
muy sensibles y tienes que dar dos click para situarlos y a nada que te
coloques debajo ya los cambia :-( , estoy pensando en si te daria igual
utilizar Combobox (que tambien eligen elementos de una lista) de la
barra de herramientas cuadro de controles.

Si te diera igual utilizar los Combobox en lugar de utilizar los
controles de formulario para estas listas, me comentas que hariamos
codigo para ellos :-)

Comentanos :-)

Saludos
Monica
--
¡Un SAludo! :-)

www.fermu.com
www.zorval.es
Joan
2006-12-18 08:45:00 UTC
Permalink
Mónica:

Cuando empecé con la idea de la lista desplegable, intenté primero utilizar
la combox, pero vi que necesitaba código de programación, por eso empecé a
utilizar los desplegables del menú "formularios" más fáciles de usar. (¿No sé
porqué usan el mismo icono?).

A mi me da igual como sea, si por "formulario" o por "controles". La cosa es
que por el código que intentamos el otro día no funciona por las razones que
dices: lentitud y cambio inesperado e involuntario.

Ya te comenté que desconozco el código pero que cuando tengo una muestra
aprendo muy rápido y enseguida pruebo alternativas y cambios (ya te lo
demostré).

Si crees que por "combox" irá mejor, más rápido y sin "sobresaltos", adelante.

MUCHAS GRACIAS.
Tux
2006-12-18 16:46:35 UTC
Permalink
Post by Joan
Cuando empecé con la idea de la lista desplegable, intenté primero utilizar
la combox, pero vi que necesitaba código de programación, por eso empecé a
utilizar los desplegables del menú "formularios" más fáciles de usar. (¿No sé
porqué usan el mismo icono?).
A mi me da igual como sea, si por "formulario" o por "controles". La cosa es
que por el código que intentamos el otro día no funciona por las razones que
dices: lentitud y cambio inesperado e involuntario.
Ya te comenté que desconozco el código pero que cuando tengo una muestra
aprendo muy rápido y enseguida pruebo alternativas y cambios (ya te lo
demostré).
Si crees que por "combox" irá mejor, más rápido y sin "sobresaltos", adelante.
MUCHAS GRACIAS.
Hola Joan :-)

Acabo de venir de viaje pero en unas horas te lo preparo, ok? :-)

En cuanto al icono, si son el mismo icono solo que el icono del
formulario o lista desplegable, son campos limitados con respecto a los
activeX del menu cuadro de controles, estos utilizan propiedades que no
utilizan los otros, tambien hay que decir que los ActiveX, son tratados
como objetos en el documento de word.

En un principio pienso que no vas a tener problemas con ellos, eso
espero :-\ , digo esto porque al ser tratados como objetos podria
aumetar en tamaño tu documento de word, si estas creando un formulario
intenta mezclar Campos de formulario con cuadros de controles e intenta
mejor aun solo utilizar Combobox en contrapartida de las listas
desplegables. :-)

Bueno en breves estoy por aqui :-)


Saludos
Monica
--
¡Un SAludo! :-)

www.fermu.com
www.zorval.es
Tux
2006-12-18 18:54:30 UTC
Permalink
Post by Joan
Cuando empecé con la idea de la lista desplegable, intenté primero utilizar
la combox, pero vi que necesitaba código de programación, por eso empecé a
utilizar los desplegables del menú "formularios" más fáciles de usar. (¿No sé
porqué usan el mismo icono?).
A mi me da igual como sea, si por "formulario" o por "controles". La cosa es
que por el código que intentamos el otro día no funciona por las razones que
dices: lentitud y cambio inesperado e involuntario.
Ya te comenté que desconozco el código pero que cuando tengo una muestra
aprendo muy rápido y enseguida pruebo alternativas y cambios (ya te lo
demostré).
Si crees que por "combox" irá mejor, más rápido y sin "sobresaltos", adelante.
MUCHAS GRACIAS.
Hola Joan :-)

Bien create primero los Combobox y asegurate que sean Combobox1,
Combobox2 y combobox3 (con boton diseño y encima del combobox boton
derecho y click en propiedades, ahi te dice el combobox que es, si
cambias los nombres del los Comboboxs tendras que cambiarlo tambien en
el código :-)

Bien una vez creados copia y pega este codigo exactamente en
Thisdocument dos click donde sale en la ventana de la derecha
Proyecto-Proyect ahi sale ThisDocument pues tu dos click para abir la
ventana de codigo y poner ahi estos codigos ok? :-) , se ponen ahi para
que cada vez que abras el libro funcionen los Combobox, asi lo indica la
primera macro Private Sub Document_Open(), se ha de realizar asi porque
sino para que funcionaran tendrias que ejecutar seguido macros y seria
un engorro. Tambien te he puesto una macro para limpiar los comboboxs en
caso de necesidad y no tener que borrarlos y suprimirlos y crear de
nuevos asi queda mas limpio el codigo, la macro se llama (que esta al
final "Sub Limpiar Combobox" solo por si quieres probar y este codigo te
lo guardas y solo lo ejecutas en el caso de añadir mas entradas ok?
Bueno no se si me explicado muy bien pero si cualquier duda tu nos
comentas :-)


'-------------------------------------------
Private Sub Document_Open()
Call ComboBox1_Change
Call ComboBox2_Change
End Sub



Private Sub ComboBox1_Change()

ComboBox1.List = Array("Futbol", "Bàsquet")

ComboBox2.Clear

Select Case ComboBox1.Text

Case "Futbol"

ComboBox2.List = Array("1ª Divisió", "2ª Divisió", "3ª Divisió")

Case "Bàsquet"

ComboBox2.List = Array("Lliga ACB", "Lliga LEB")
Case Else

End Select

End Sub

Private Sub ComboBox2_Change()

Select Case ComboBox2.Text

Case "1ª Divisió"

ComboBox3.List = Array("Real Madrid C.F.", "F.C. Barcelona", _
"R.C.D. Mallorca")

Case "2ª Divisió"

ComboBox3.List = Array("Real Murcia", "U.D. Jerez")

Case "3ª Divisió"

ComboBox3.List = Array("Constància C.F.", "C.E. Atletic Baleares", _
"R.C.E. Mallorca B")

Case "Lliga ACB"
ComboBox3.List = Array("Unicaja Málaga", "TAU Cerámica", _
"DKV Badalona", "Menorca Bàsquet")

Case "Lliga LEB"

ComboBox3.List = Array("Drac Inca", "Palma Aqua Mágica", _
"León Caja España")

Case Else

End Select

End Sub

Sub Limpiar_Comboboxs()

ComboBox1.Clear
ComboBox2.Clear
ComboBox3.Clear

End Sub
'--------------------------------------------------------------

Si tuvieras que enlazar muchos mas y vieras que no se salen o que te dan
errores no dudes en comentarnos que aqui tamos :-)

Saludos
Monica
--
¡Un SAludo! :-)

www.fermu.com
www.zorval.es
Verónica Felipe
2022-10-21 11:14:36 UTC
Permalink
Post by Tux
Post by Joan
Cuando empecé con la idea de la lista desplegable, intenté primero utilizar
la combox, pero vi que necesitaba código de programación, por eso empecé a
utilizar los desplegables del menú "formularios" más fáciles de usar. (¿No sé
porqué usan el mismo icono?).
A mi me da igual como sea, si por "formulario" o por "controles". La cosa es
que por el código que intentamos el otro día no funciona por las razones que
dices: lentitud y cambio inesperado e involuntario.
Ya te comenté que desconozco el código pero que cuando tengo una muestra
aprendo muy rápido y enseguida pruebo alternativas y cambios (ya te lo
demostré).
Si crees que por "combox" irá mejor, más rápido y sin "sobresaltos", adelante.
MUCHAS GRACIAS.
Hola Joan :-)
Bien create primero los Combobox y asegurate que sean Combobox1,
Combobox2 y combobox3 (con boton diseño y encima del combobox boton
derecho y click en propiedades, ahi te dice el combobox que es, si
cambias los nombres del los Comboboxs tendras que cambiarlo tambien en
el código :-)
Bien una vez creados copia y pega este codigo exactamente en
Thisdocument dos click donde sale en la ventana de la derecha
Proyecto-Proyect ahi sale ThisDocument pues tu dos click para abir la
ventana de codigo y poner ahi estos codigos ok? :-) , se ponen ahi para
que cada vez que abras el libro funcionen los Combobox, asi lo indica la
primera macro Private Sub Document_Open(), se ha de realizar asi porque
sino para que funcionaran tendrias que ejecutar seguido macros y seria
un engorro. Tambien te he puesto una macro para limpiar los comboboxs en
caso de necesidad y no tener que borrarlos y suprimirlos y crear de
nuevos asi queda mas limpio el codigo, la macro se llama (que esta al
final "Sub Limpiar Combobox" solo por si quieres probar y este codigo te
lo guardas y solo lo ejecutas en el caso de añadir mas entradas ok?
Bueno no se si me explicado muy bien pero si cualquier duda tu nos
comentas :-)
'-------------------------------------------
Private Sub Document_Open()
Call ComboBox1_Change
Call ComboBox2_Change
End Sub
Private Sub ComboBox1_Change()
ComboBox1.List = Array("Futbol", "Bàsquet")
ComboBox2.Clear
Select Case ComboBox1.Text
Case "Futbol"
ComboBox2.List = Array("1ª Divisió", "2ª Divisió", "3ª Divisió")
Case "Bàsquet"
ComboBox2.List = Array("Lliga ACB", "Lliga LEB")
Case Else
End Select
End Sub
Private Sub ComboBox2_Change()
Select Case ComboBox2.Text
Case "1ª Divisió"
ComboBox3.List = Array("Real Madrid C.F.", "F.C. Barcelona", _
"R.C.D. Mallorca")
Case "2ª Divisió"
ComboBox3.List = Array("Real Murcia", "U.D. Jerez")
Case "3ª Divisió"
ComboBox3.List = Array("Constància C.F.", "C.E. Atletic Baleares", _
"R.C.E. Mallorca B")
Case "Lliga ACB"
ComboBox3.List = Array("Unicaja Málaga", "TAU Cerámica", _
"DKV Badalona", "Menorca Bàsquet")
Case "Lliga LEB"
ComboBox3.List = Array("Drac Inca", "Palma Aqua Mágica", _
"León Caja España")
Case Else
End Select
End Sub
Sub Limpiar_Comboboxs()
ComboBox1.Clear
ComboBox2.Clear
ComboBox3.Clear
End Sub
'--------------------------------------------------------------
Si tuvieras que enlazar muchos mas y vieras que no se salen o que te dan
errores no dudes en comentarnos que aqui tamos :-)
Saludos
Monica
--
¡Un SAludo! :-)
www.fermu.com
www.zorval.es
Buenos días, Joan:

He aplicado tu código y es estupendo.

He replicado el mismo código cambiando el número del combobox.... y no me sale....

Es decir, necesito que se replique en todos los meses el menú 1 y el menú 2.... pero no me sale. Me da error...

Hay alguna forma? Igual me estoy equivocando...

Private Sub Document_Open()
Call ComboBox1_Change
Call ComboBox110_Change
End Sub
Private Sub ComboBox1_Change()
ComboBox1.List = Array("Alergología", "Análisis clínicos", "Anatomía patológica", "Anestesiología y reanimación", "Angiología y cir. vascular", "Aparato digestivo", "Bioquímica clínica", "Cardiología", "Cir. geral. y del a. digestivo", "Cir. Oral y maxilofacial", "Cir. Ortopédica y traumatología", "Cir. Pediátrica", "Cir. Plástica, est-rep", "Dermatología m-q y v.", "Endocrinología y nutrición", "Enfermería Geriátrica", "Enfermería Obstétrico-Ginecológica", "Enfermería Pediátrica", "Farmacia hospitlaria", "Genética", "Geriatría", "Hematología y hemoterapia", "Medicina Física y RHB", "Medicina Intensiva", "Medicina Interna", "Medicina Nuclear", "Microbiología y parasitología", "Nefrología", "Neumología", "Neurocirugía", "Neurofisiología clínica", "Neurología", "Obstetricia y ginecología", "Oftalmología", "Oncología Médica", "Oncología Radioterápica", "Otorrinolaringología", "Pediatría y sus áreas específicas", "Radiodiagnóstico", "Radiofísica hospitalaria", "Reumatología", "Urgencias", "Urología")
ComboBox2.Clear
Select Case ComboBox1.Text
Case "Alergología"
ComboBox2.List = Array("Alimentaria", "Cutánea", "Fármacos", "Pediátrica", "Respiratoria")
Case "Análisis clínicos"
ComboBox2.List = Array("Bioquímica especial", "Bioquímica general", "Calidad", "Embriología", "Fármacos", "Orinas", "Proteínas", "Fertilidad", "Recepción de muestras", "Hormonas", "Inmunología", "Laboratorio de urgencias", "Marcadores tumorales", "Preanalítica", "Urocultivos")
Case "Anatomía patológica"
ComboBox2.List = Array("Cabeza y cuello", "Autopsia adultos", "Autopsia fetal", "Autopsia pediátrica", "Citología y citometría de flujo", "Dermatopatología", "Endoscopia", "Patología Hepato-bilio-pancreas", "Neuropatología", "Partes blandas", "Patología autopsia", "Patología de piezas quirúrgicas de pulmón", "Piezas grandes digestivco", "Patología digestiva", "Patología endocrina", "Patología hematolinfoide", "Patología hueso", "Patología mamaria", "Patología ORI", "Uropatología")
Case "Anestesiología y reanimación"
ComboBox2.List = Array("Anestesia a
Case Else
End Select
End Sub
Private Sub ComboBox110_Change()
ComboBox110.List = Array("Alergología", "Análisis clínicos", "Anatomía patológica", "Anestesiología y reanimación", "Angiología y cir. vascular", "Aparato digestivo", "Bioquímica clínica", "Cardiología", "Cir. geral. y del a. digestivo", "Cir. Oral y maxilofacial", "Cir. Ortopédica y traumatología", "Cir. Pediátrica", "Cir. Plástica, est-rep", "Dermatología m-q y v.", "Endocrinología y nutrición", "Enfermería Geriátrica", "Enfermería Obstétrico-Ginecológica", "Enfermería Pediátrica", "Farmacia hospitlaria", "Genética", "Geriatría", "Hematología y hemoterapia", "Medicina Física y RHB", "Medicina Intensiva", "Medicina Interna", "Medicina Nuclear", "Microbiología y parasitología", "Nefrología", "Neumología", "Neurocirugía", "Neurofisiología clínica", "Neurología", "Obstetricia y ginecología", "Oftalmología", "Oncología Médica", "Oncología Radioterápica", "Otorrinolaringología", "Pediatría y sus áreas específicas", "Radiodiagnóstico", "Radiofísica hospitalaria", "Reumatología", "Urgencias", "Urología")
ComboBox25.Clear
Select Case ComboBox110.Text
Case "Alergología"
ComboBox25.List = Array("Alimentaria", "Cutánea", "Fármacos", "Pediátrica", "Respiratoria")
Case "Análisis clínicos"
ComboBox25.List = Array("Bioquímica especial", "Bioquímica general", "Calidad", "Embriología", "Fármacos", "Orinas", "Proteínas", "Fertilidad", "Recepción de muestras", "Hormonas", "Inmunología", "Laboratorio de urgencias", "Marcadores tumorales", "Preanalítica", "Urocultivos")
Case "Anatomía patológica"
ComboBox25.List = Array("Cabeza y cuello", "Autopsia adultos", "Autopsia fetal", "Autopsia pediátrica", "Citología y citometría de flujo", "Dermatopatología", "Endoscopia", "Patología Hepato-bilio-pancreas", "Neuropatología", "Partes blandas", "Patología autopsia", "Patología de piezas quirúrgicas de pulmón", "Piezas grandes digestivco", "Patología digestiva", "Patología endocrina", "Patología hematolinfoide", "Patología hueso", "Patología mamaria", "Patología ORI", "Uropatología")
Case "Anestesiología y rea"
Verónica Felipe
2022-10-21 12:58:04 UTC
Permalink
Post by Tux
Post by Joan
Cuando empecé con la idea de la lista desplegable, intenté primero utilizar
la combox, pero vi que necesitaba código de programación, por eso empecé a
utilizar los desplegables del menú "formularios" más fáciles de usar. (¿No sé
porqué usan el mismo icono?).
A mi me da igual como sea, si por "formulario" o por "controles". La cosa es
que por el código que intentamos el otro día no funciona por las razones que
dices: lentitud y cambio inesperado e involuntario.
Ya te comenté que desconozco el código pero que cuando tengo una muestra
aprendo muy rápido y enseguida pruebo alternativas y cambios (ya te lo
demostré).
Si crees que por "combox" irá mejor, más rápido y sin "sobresaltos", adelante.
MUCHAS GRACIAS.
Hola Joan :-)
Bien create primero los Combobox y asegurate que sean Combobox1,
Combobox2 y combobox3 (con boton diseño y encima del combobox boton
derecho y click en propiedades, ahi te dice el combobox que es, si
cambias los nombres del los Comboboxs tendras que cambiarlo tambien en
el código :-)
Bien una vez creados copia y pega este codigo exactamente en
Thisdocument dos click donde sale en la ventana de la derecha
Proyecto-Proyect ahi sale ThisDocument pues tu dos click para abir la
ventana de codigo y poner ahi estos codigos ok? :-) , se ponen ahi para
que cada vez que abras el libro funcionen los Combobox, asi lo indica la
primera macro Private Sub Document_Open(), se ha de realizar asi porque
sino para que funcionaran tendrias que ejecutar seguido macros y seria
un engorro. Tambien te he puesto una macro para limpiar los comboboxs en
caso de necesidad y no tener que borrarlos y suprimirlos y crear de
nuevos asi queda mas limpio el codigo, la macro se llama (que esta al
final "Sub Limpiar Combobox" solo por si quieres probar y este codigo te
lo guardas y solo lo ejecutas en el caso de añadir mas entradas ok?
Bueno no se si me explicado muy bien pero si cualquier duda tu nos
comentas :-)
'-------------------------------------------
Private Sub Document_Open()
Call ComboBox1_Change
Call ComboBox2_Change
End Sub
Private Sub ComboBox1_Change()
ComboBox1.List = Array("Futbol", "Bàsquet")
ComboBox2.Clear
Select Case ComboBox1.Text
Case "Futbol"
ComboBox2.List = Array("1ª Divisió", "2ª Divisió", "3ª Divisió")
Case "Bàsquet"
ComboBox2.List = Array("Lliga ACB", "Lliga LEB")
Case Else
End Select
End Sub
Private Sub ComboBox2_Change()
Select Case ComboBox2.Text
Case "1ª Divisió"
ComboBox3.List = Array("Real Madrid C.F.", "F.C. Barcelona", _
"R.C.D. Mallorca")
Case "2ª Divisió"
ComboBox3.List = Array("Real Murcia", "U.D. Jerez")
Case "3ª Divisió"
ComboBox3.List = Array("Constància C.F.", "C.E. Atletic Baleares", _
"R.C.E. Mallorca B")
Case "Lliga ACB"
ComboBox3.List = Array("Unicaja Málaga", "TAU Cerámica", _
"DKV Badalona", "Menorca Bàsquet")
Case "Lliga LEB"
ComboBox3.List = Array("Drac Inca", "Palma Aqua Mágica", _
"León Caja España")
Case Else
End Select
End Sub
Sub Limpiar_Comboboxs()
ComboBox1.Clear
ComboBox2.Clear
ComboBox3.Clear
End Sub
'--------------------------------------------------------------
Si tuvieras que enlazar muchos mas y vieras que no se salen o que te dan
errores no dudes en comentarnos que aqui tamos :-)
Saludos
Monica
--
¡Un SAludo! :-)
www.fermu.com
www.zorval.es
Buenos días,

Este código es la leche!

He intentado replicarlo: necesito una tabla de los 12 meses del año en en cada mes debe estar el mismo menú principal con su submenu anidado. Lo he copiado y pegado modificando el número del combobox... y me da error.

Hay alguna forma de saber porqué pasa eso o si se puede corregir?
Private Sub Document_Open()
Call ComboBox1_Change
Call ComboBox110_Change
End Sub
Private Sub ComboBox1_Change()
ComboBox1.List = Array("Alergología", "Análisis clínicos", "Anatomía patológica", "Anestesiología y reanimación", "Angiología y cir. vascular", "Aparato digestivo", "Bioquímica clínica", "Cardiología", "Cir. geral. y del a. digestivo", "Cir. Oral y maxilofacial", "Cir. Ortopédica y traumatología", "Cir. Pediátrica", "Cir. Plástica, est-rep", "Dermatología m-q y v.", "Endocrinología y nutrición", "Enfermería Geriátrica", "Enfermería Obstétrico-Ginecológica", "Enfermería Pediátrica", "Farmacia hospitlaria", "Genética", "Geriatría", "Hematología y hemoterapia", "Medicina Física y RHB", "Medicina Intensiva", "Medicina Interna", "Medicina Nuclear", "Microbiología y parasitología", "Nefrología", "Neumología", "Neurocirugía", "Neurofisiología clínica", "Neurología", "Obstetricia y ginecología", "Oftalmología", "Oncología Médica", "Oncología Radioterápica", "Otorrinolaringología", "Pediatría y sus áreas específicas", "Radiodiagnóstico", "Radiofísica hospitalaria", "Reumatología", "Urgencias", "Urología")
ComboBox2.Clear
Select Case ComboBox1.Text
Case "Alergología"
ComboBox2.List = Array("Alimentaria", "Cutánea", "Fármacos", "Pediátrica", "Respiratoria")
Case "Análisis clínicos"
ComboBox2.List = Array("Bioquímica especial", "Bioquímica general", "Calidad", "Embriología", "Fármacos", "Orinas", "Proteínas", "Fertilidad", "Recepción de muestras", "Hormonas", "Inmunología", "Laboratorio de urgencias", "Marcadores tumorales", "Preanalítica", "Urocultivos")
Case "Anatomía patológica"
ComboBox2.List = Array("Cabeza y cuello", "Autopsia adultos", "Autopsia fetal", "Autopsia pediátrica", "Citología y citometría de flujo", "Dermatopatología", "Endoscopia", "Patología Hepato-bilio-pancreas", "Neuropatología", "Partes blandas", "Patología autopsia", "Patología de piezas quirúrgicas de pulmón", "Piezas grandes digestivco", "Patología digestiva", "Patología endocrina", "Patología hematolinfoide", "Patología hueso", "Patología mamaria", "Patología ORI", "Uropatología")
Case "Anestesiología y reanimación"
ComboBox2.List = Array("Anestesia adaptación", "Anestesia en reanimación", "Anestisia fuera de quirófano", "Anestesia obstétrica", "Anestesia pediátrica", "Anestesia en quirófano", "Anestesia ginecología", "Preoperatorios", "Unidad del dolor", "URPA")
Case "Angiología y cir. vascular"
ComboBox2.List = Array("Cirugía vascular", "Hospitalización")

siguiendo este esquema...si cambio el numero del combobox... porque no me funciona????

Por favor,
o***@gmail.com
2020-04-07 12:24:08 UTC
Permalink


En Excel
Damaris
2020-09-23 17:07:47 UTC
Permalink
Post by o***@gmail.com
http://youtu.be/sAaZ5di8FOc
En Excel
Tengo la misma duda... pero no se nada de programación.
NO existe en Google Forms algo que me ayude?

Muchas Gracias,,,
Loading...