300 Ejemplos

Cuadros combinados dependientes

Dependent Combo Boxes

A continuación veremos un programa en Excel VBA que crea un formulario de usuario que contiene cuadros combinados dependientes . El formulario de usuario 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.



Cuadros combinados dependientes en Excel VBA

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

Cuadros combinados dependientes en Excel VBA

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. Haga clic en Insertar, formulario de usuario. Si la Caja de herramientas no aparece automáticamente, haga clic en Ver, Caja de herramientas. Su pantalla debe configurarse como se muestra a continuación.

Configuración de pantalla de formulario de usuario en Excel VBA

3. Agregue los cuadros combinados (primero a la izquierda, el segundo a la derecha) y el botón de comando. Una vez que se haya completado, el resultado debe ser coherente con la imagen del formulario de usuario que se mostró anteriormente. Por ejemplo, cree un control de cuadro combinado haciendo clic en ComboBox en el cuadro de herramientas. A continuación, puede arrastrar un cuadro combinado en el formulario de usuario.

4. Puede cambiar los nombres y los títulos de los controles. Los nombres se utilizan en el código de Excel VBA. Los subtítulos son los que aparecen en su pantalla. Es una buena práctica cambiar los nombres de los controles, pero no es necesario aquí porque solo tenemos unos pocos controles en este ejemplo. Para cambiar el título del formulario de usuario y el botón de comando, haga clic en Ver, Ventana 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 agregue la siguiente línea de código:

Privado SubCommandButton1_Click ()

UserForm1.Show

Fin Sub

Ahora vamos a crear el Sub UserForm_Initialize. Cuando utilice el método Show para el formulario de usuario, este sub se ejecutará automáticamente.

6. Abra el Editor de Visual Basic .

7. En el Explorador de proyectos, haga clic derecho en UserForm1 y luego haga clic en Ver código.

8. Elija Userform de la lista desplegable de la izquierda. Elija Inicializar en la lista desplegable de la derecha.

cómo convertir la fecha en número en Excel

9. Agregue las siguientes líneas de código:

Privado SubUserForm_Initialize ()

ConComboBox1
.AddItem 'Animales'
.AddItem 'Deportes'
.AddItem 'Comida'
Fin Con

Fin Sub

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

Ahora hemos creado la primera parte del formulario de usuario. Aunque ya se ve bien, no sucederá nada cuando seleccionamos un elemento del primer cuadro combinado.

10. En el Explorador de proyectos, haga doble clic en UserForm1.

11. Haga doble clic en el primer cuadro combinado.

12. Agregue las siguientes líneas de código:

Privado SubComboBox1_Change ()

NingunoíndiceComo Entero
index = ComboBox1.ListIndex

ComboBox2.Clear

Seleccione Casoíndice
Caso Es= 0
ConComboBox2
.AddItem 'Perro'
.AddItem 'Gato'
.AddItem 'Caballo'
Fin Con
Caso Es= 1
ConComboBox2
.Añadir artículo 'Tenis'
.AddItem 'Natación'
.AddItem 'Baloncesto'
Fin Con
Caso Es= 2
ConComboBox2
.AddItem 'Panqueques'
.Añadir elemento 'Pizza'
.AddItem 'chino'
Fin Con
Fin Seleccione

Fin Sub

Explicación: Excel VBA usa el valor del índice de la variable para probar cada declaración de caso posterior para ver con qué elementos se debe completar el segundo cuadro combinado. Pasa por nuestro Seleccione el caso programa para obtener más información sobre la estructura Seleccionar caso.

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

14. Agregue la siguiente línea de código:

Privado SubCommandButton1_Click ()

Rango ('A1'). Valor = ComboBox2.Value

Fin Sub

Resultado:

Cuadros combinados dependientes en Excel VBA

7/11 Completado! Obtenga más información sobre los formularios de usuario>
Ir al capítulo siguiente: Abarcar



^