En esta primera sección formalmente dedicadas a los UserForms, me interesa mostrarte cómo es el proceso de creación inicial, y una ventana a la que estaremos mirando permanentemente durante el proceso de diseño y programación del formulario, que es la ventana de Propiedades. ¡Empecemos!
Como todo lo relacionado a VBA, el proceso de creación de un UserForm inicia al dirigirnos a la pestaña Programador, para acceder al Editor de Visual Basic para Aplicaciones (o en pocas palabras, Editor de VBA). Una vez allí, dirígete al botón insertar nuevo…, y en el desplegable, selecciona UserForm (es muy semejante al proceso de insertar un nuevo módulo):
Tan simple como esto, aparecerá en nuestro Editor de VBA un rectángulo gris con una trama de puntos: nuestro UserForm, llamado UserForm1 por ser el primero que hemos creado dentro de este proyecto. Podrás acceder siempre al mismo a través del Explorador de Proyectos VBA, dentro de la estructura de árbol de tu libro, dentro de la carpeta de formularios:
Notarás que debajo del Explorador de proyectos, en mi caso se encuentra desplegada la ventana de Propiedades. Esta es muy importante. Si no la tienes activada, dirígete a Ver > Ventana Propiedades (o presiona la tecla F4).
Esta ventana en cuestión, como su nombre lo indica, muestra una gran cantidad de propiedades que, en definitiva, determinan la apariencia y comportamiento de nuestro formulario. Identifiquemos, para comenzar, las dos primeras que utilizaremos en nuestro caso:
- (Name): es el nombre “interno” que tiene el objeto UserForm dentro de nuestro código VBA. Cuando escribamos su nombre, podremos llamarlo o definir qué hacemos con él, a través de código. En la captura anterior, (Name) está definido como UserForm1. Lo cambiaré a UserFormPractica para este ejemplo. Como todo nombre de objeto, aplican las normas conocidas para nombrarlo (por lo pronto, no se pueden utilizar espacios).
- Caption: es el título del UserForm, aquel que se le muestra al usuario cuando el mismo se abre. Corresponde aquel que se muestra en el encabezado
En este caso, también recibe el nombre de UserForm1, pero lo cambiaré por Ingreso de Datos, para diferenciar ambos. En este caso, como se trata de una propiedad que solo se utiliza a fines de mostrarla al usuario, puede tener espacios intermedios.
Veamos que ocurre si intento ejecutar el formulario, presionando el botón Ejecutar Sub/UserForm (la flecha verde), o presionando F5:
Es decir, el formulario se abrirá como una nueva ventana dentro de Excel. Desde luego, como recién iniciamos el trabajo, se encuentra vacío. Para cerrarlo, presiona la X.
Finalmente, para concluir este primer paso, crearemos un procedimiento para llamar a nuestro formulario con tan solo presionar un botón en nuestro libro, en dos pasos:
1. En un nuevo módulo, creamos una subrutina que realice el “llamado” del formulario, a través de la instrucción Show:
Sub MostrarFormulario()
UserFormPractica.Show
End Sub
2. De nuevo en nuestra hoja de Excel, crearemos un botón a través de los controles de formulario ( Programador > Insertar (controles de formulario) > Botón (control de formulario ), y al mismo le asignaremos la macro creada:
Al mismo, le cambiaremos el texto interior para que muestre “Abrir Formulario”, y cada vez que presionemos sobre él, se abrirá el UserForm que recién comenzamos a crear. A medida que realicemos cambios sobre el mismo, se verán reflejados con cada apertura:
Artículo Siguiente: UserForms | El Cuadro de Herramientas: Botón de Comando
Artículo Anterior: Introducción a UserForms