Cajas Combo dependientes

A continuación veremos un programa en Excel VBA que crea un Userform que contiene cuadros combinados dependientes . El Userform que vamos a crear tiene el siguiente aspecto:

El usuario selecciona Animales de una lista desplegable. Como resultado, el usuario puede seleccionar un animal de una segunda lista desplegable.

El usuario selecciona Deportes de una lista desplegable. Como resultado, el usuario puede seleccionar un deporte de una segunda lista desplegable.

Para crear este formulario de usuario, ejecute los siguientes pasos.

1. Abra el Editor de Visual Basic. Si el Explorador de Proyectos no está visible, haga clic en Ver, Explorador de Proyectos.

2. 2. Haga clic en Insertar, Formulario de usuario. 3. Si la Caja de herramientas no aparece automáticamente, haga clic en Ver, Caja de herramientas. La pantalla debe configurarse como se indica a continuación.

3. Añade los cuadros combinados (el primero a la izquierda, el segundo a la derecha) y el botón de comando. Una vez que esto se haya completado, el resultado debe ser consistente con la imagen del Formulario de Usuario mostrado anteriormente. Por ejemplo, cree un control de cuadro combinado haciendo clic en ComboBox desde la Caja de Herramientas. A continuación, puedes arrastrar un combo box en el Userform.

4. Puedes cambiar los nombres y los títulos de los controles. Los nombres se usan en el código VBA de Excel. Los subtítulos son los que aparecen en la pantalla. Es una buena práctica cambiar los nombres de los controles, pero no es necesario aquí porque sólo tenemos unos pocos controles en este ejemplo. Para cambiar la leyenda de la forma de usuario y el botón de comando, haga clic en Ver, Ventana de propiedades y haga clic en cada control.

5. Para mostrar el formulario de usuario, coloque un botón de comando en su hoja de trabajo y añada la siguiente línea de código:

Soldado Sub Sub CommandButton1_Click() Formulario de usuario1.Show End Sub

Ahora vamos a crear el Sub UserForm_Initialize. Al usar el método Show para el Userform, este sub se ejecutará automáticamente.

6. Abre el Editor de Visual Basic.

7. En el Explorador del Proyecto, haga clic con el botón derecho en UserForm1 y luego haga clic en View Code.

8. Seleccione Formulario de usuario en la lista desplegable de la izquierda. 9. Seleccione Inicializar en la lista desplegable de la derecha.

9. Añade las siguientes líneas de código:

Private Sub UserForm_Initialize() Con ComboBox1 … «Animales». …elemento adicional «Deportes»… …elemento adicional «comida»… Termina con End Sub

Explicación: Estas líneas de código llenan el primer cuadro combinado.

Hemos creado la primera parte de la forma de usuario. Aunque ya se ve bien, no pasará nada aún cuando seleccionemos un elemento del primer cuadro combinado.

10. En el Explorador del Proyecto, haga doble clic en UserForm1.

11. Haga doble clic en el primer cuadro combinado.

12. Añade las siguientes líneas de código:

Private Sub ComboBox1_Change() El índice de la oscuridad como un número entero… index = ComboBox1.ListIndex ComboBox2. Despejado Seleccione Índice de casos El caso es = 0 Con ComboBox2 …elemento adicional «Perro»… …elemento adicional «Gato»… …elemento adicional «Caballo»… Termina con El caso es = 1 Con ComboBox2 …elemento adicional «Tenis»… …elemento adicional «Natación»… …artículo adicional «Baloncesto»… Termina con El caso es = 2 Con ComboBox2 … «Panqueques». …elemento adicional «Pizza»… …elemento adicional «chino»… Termina con Finalizar Seleccionar End Sub

Explicación: Excel VBA utiliza el valor del índice de la variable para probar cada declaración de caso posterior para ver con qué elementos debe llenarse el segundo cuadro combinado. Ve a nuestro programa Seleccionar Caso para aprender más sobre la estructura de Seleccionar Caso.

13. Haga doble clic en el botón Importar.

14. Añade la siguiente línea de código:

Soldado Sub Sub CommandButton1_Click() Rango(«A1»).Valor = ComboBox2.Valor End Sub

Resultado:

Deja un comentario