Post by TuxPost by JoanCuando 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"