Formulario de usuario con múltiples páginas

A continuación veremos un programa en Excel VBA que crea un formulario de usuario que contiene varias páginas. Este formulario de usuario también contiene imágenes.

El Control Multipágina contiene dos páginas. En la página 1, el usuario puede rellenar su información personal. En la página 2, el usuario puede indicar qué pintura le gusta más.

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 el control Multipágina, etiquetas, cuadros de texto (el primero arriba, el segundo abajo del primero), marco, botones de opción (el primero a la izquierda, el segundo a la derecha), cuadro de lista, control de imagen y botón de comando. Una vez que esto se haya completado, el resultado debe ser consistente con la versión vacía del formulario de usuario mostrado anteriormente. Por ejemplo, cree un control Multipágina haciendo clic en Multipágina desde la Caja de Herramientas. A continuación, puede arrastrar un control Multipágina en la Forma de usuario. Cuando llegue al marco de Género, recuerde dibujar este marco primero antes de colocar los dos botones de opción en él.

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, las pestañas multipágina, las etiquetas, el marco, los botones de opción y el botón de comando, haz clic en Ver, Ventana de propiedades y haz 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 ListBox1 Elemento adicional «Montañas» …elemento adicional «Puesta de sol»… …elemento adicional «Playa»… …elemento adicional «Invierno»… Termina con End Sub

Explicación: el recuadro de la lista de la página 2 se llenará.

Hemos creado la primera parte de la forma de usuario. Aunque ya se ve bien, no pasará nada aún cuando seleccionemos un elemento de la lista o cuando hagamos clic en el botón OK.

10. Descargue las imágenes (lado derecho de esta página) y agréguelas a «C:testN»

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

12. Haga doble clic en el cuadro de la lista.

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

Sub-lista privadaBox1_Click() Si ListBox1.ListIndex = 0 entonces Imagen1.Imagen = LoadPicture(«C:testMountains.jpg») Finalizar si Si ListBox1.ListIndex = 1 entonces Imagen1.Imagen = LoadPicture(«C:testSunset.jpg») Finalizar si Si ListBox1.ListIndex = 2 entonces Imagen1.Imagen = LoadPicture(«C:testBeach.jpg») Finalizar si Si ListBox1.ListIndex = 3 entonces Imagen1.Imagen = LoadPicture(«C:testWinter.jpg») Finalizar si End Sub

Explicación: estas líneas de código cargan una imagen dependiendo del elemento seleccionado en el cuadro de lista.

14. Haga doble clic en el botón OK.

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

Soldado Sub Sub CommandButton1_Click() Diminuta fila vacía tanto tiempo «Activar la hoja 1″… Hoja 1. Activar Determinar la fila vacía emptyRow = WorksheetFunction.CountA(Range(«A:A»)) + 1 «Transferir información Celdas(fila vacía, 1).Valor = TextBox1.Valor Celdas(fila vacía, 2).Valor = TextBox2.Valor Si OptionButton1.Value = True entonces Células (fila vacía, 3). Valor = «Hombre». Else Células (fila vacía, 3). Valor = «Mujer» Finalizar si Celdas(fila vacía, 4).Valor = ListBox1.Valor Cerrar formulario de usuario Descárgueme End Sub

Explicación: primero, activamos la Hoja 1. Luego, determinamos la fila vacía. La variable emptyRow es la primera fila vacía y aumenta cada vez que se añade un registro. A continuación, transferimos la información del Userform a las columnas específicas de emptyRow. Finalmente, cerramos el Userform.

16. Salga del Editor de Visual Basic, introduzca las etiquetas que se muestran abajo en la fila 1 y pruebe el formulario de usuario.

Resultado:

Deja un comentario