Cuadros combinados dependientes de Excel VBA

Buenas, soy Miguel y esta vez os traigo un nuevo post.

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 se ve así:

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, realice 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 de la siguiente manera.

Visualización de la pantalla del formulario de usuario en Excel VBA

3. Agregue los cuadros combinados (el primero a la izquierda, el segundo a la derecha) y el botón de comando. Una vez completado, el resultado debe ser coherente con la imagen del formulario de usuario que se muestra arriba. 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 al formulario de usuario.

4. Puede cambiar los nombres y subtítulos de los controles. Los nombres se utilizan en el código Excel VBA. Los subtítulos son los que aparecen en pantalla. Es una buena práctica cambiar el nombre de los controles, pero no es necesario aquí porque solo tenemos algunos controles en este ejemplo. Para cambiar la leyenda del botón y el comando Formulario de usuario, 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 Sub CommandButton1_Click ()

UserForm1.Show

Aleta Sub

Ahora creemos el Sub UserForm_Initialize. Cuando utilice el método Show para el formulario de usuario, se ejecutará automáticamente.

6. Abra el Editor de Visual Basic.

7. En el Explorador de proyectos, haga clic con el botón secundario en UserForm1 y, a continuación, haga clic en Ver código.

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

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

Privado Sub UserForm_Initialize ()

Con ComboBox1
.AddItem "Animales"
.AddItem "Deportes"
.AddItem "Comida"
Aleta Con

Aleta 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 parece que ya está ordenado, todavía no pasará nada cuando seleccionemos 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 Sub ComboBox1_Change ()

Oscuro índice Cómo Entero

index = ComboBox1.ListIndex

ComboBox2.Clarify

Seleccione Caso índice
Caso Es = 0
Con ComboBox2
.AddItem "Perro"
.AddItem "Gato"
.AddItem "Caballo"
Aleta Con

Caso Es = 1
Con ComboBox2
.AddItem "Tenis"
.AddItem "Natación"
.AddItem "Baloncesto"
Aleta Con

Caso Es = 2
Con ComboBox2
.AddItem "Panqueques"
.AddItem "Pizza"
.AddItem "chino"
Aleta Con
Aleta Seleccione

Aleta Sub

Explicación: Excel VBA usa el valor del índice de la variable para probar cada declaración de caso subsiguiente para ver con qué elementos se debe completar el segundo cuadro combinado. Consulte el programa Seleccionar caso 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 Sub CommandButton1_Click ()

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

Aleta Sub

Resultado:

Cuadros combinados dependientes en Excel VBA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Esta página utiliza Cookies. Más info