Este artículo pertenece a nuestra serie dedicada a UserForms. Si es el primero que has visto, te sugiero iniciar por la primera entrega: Introducción a UserForms

Artículo anterior: UserForms | El Cuadro de Herramientas: Botón de Comando

Hasta el momento, hemos empezado a visualizar cómo podemos configurar algunos aspectos de la apariencia de nuestro formulario, a través de la creación de los botones de comando y la presentación de la ventana de Propiedades. Si bien faltan muchas herramientas por presentar, antes de continuar vamos a hacer en esta entrega una mención especial a la programación del formulario.

Programar el formulario, significa entregarle las instrucciones a cada botón, cada campo y herramienta, para que sepa lo que debe realizar ante una determinada interacción con el usuario. Como estamos trabajando con una computadora, desde ya imaginarás correctamente que estas instrucciones se las brindamos por medio de código, y en particular, como estamos hablando de Excel, programando mediante VBA.

En cualquier herramienta creada sobre el formulario, e incluso sobre el cuerpo del UserForm, veremos que al hacer clic secundario (clic derecho) sobre el mismo, tendremos disponible la opción de Ver código:

Esta opción nos lleva al editor de VBA, donde automáticamente se genera una macro relacionada a la herramienta que habíamos seleccionado, en este caso, el botón Aceptar (al cual habíamos llamado cmdAceptar como nombre “duro”):


En este punto, si tienes experiencia programando eventos en Excel, te darás cuenta que se sigue una estructura parecida. En los desplegables de la parte superior, tendremos cada uno de los objetos que forman parte de nuestro formulario hasta el momento:

En este caso, tenemos los dos botones de comando creados, y el UserForm en sí mismo. En el desplegable de la derecha, tenemos los “eventos” disponibles para cada uno de estos objetos, que en el caso de los botones de comando como el que estamos trabajando, son los siguientes:

Como posiblemente sospeches, los principales eventos de un botón de comando serán el Click (pulsar con el mouse sobre el mismo), o el comportamiento de DblClick o doble click, para casos muy específicos.

Al ser el “predeterminado”, en este caso se creó automáticamente la subrutina Private Sub cmdAceptar_Click() que se ejecutará cada vez que demos click al botón de comando Aceptar.

Nuestro objetivo para este botón, será que almacene los datos ingresados en el UserForm en una base de datos, y lo limpie para prepararlo para un nuevo ingreso. Debido a que aún no creamos las demás herramientas, por el momento solo haremos que muestro un mensaje al usuario:

Private Sub cmdAceptar_Click()

MsgBox "Se presionó el botón Aceptar"

End Sub

El código creado en la subrutina puede ser de cualquier tipo, igual que si estuvieras programando una macro común.

Para el otro botón, seguiremos el mismo procedimiento. En nuestro explorador de proyectos, localizamos nuevamente nuestro formulario y lo abrimos:

Y ahora hacemos click derecho sobre el botón “Cancelar” > Ver Código .

Nuevamente se creará una macro automáticamente, asociada a la acción de un click sobre el objeto cmdCancelar. El objetivo de este botón, será el de abandonar la ejecución del UserForm y cerrarlo, facilitando las acciones del usuario y evitando que recurra a la cruz roja de la esquina superior derecha (sobre la cual no tenemos control ya que no es programable).

Resulta importante hacer esta salvedad, ya que el objetivo de programar un formulario, es tener el control total sobre cada aspecto y acción, para evitar errores y lograr nuestros objetivos manteniendo la integridad de los datos manipulados.

La línea de VBA que utilizaremos para cerrar el formulario es:

Private Sub cmdCancelar_Click()

Unload Me

End Sub

Donde “unload”, significa “descargar” (en el sentido de no-cargar), y “Me” se refiere al objeto “padre”, que es el formulario en sí. En síntesis: descargar el formulario.

Repasando los avances hasta el momento:

  1. Creamos un código para que al presionar el botón Aceptar se muestre un mensaje al usuario confirmando la acción (y luego ampliaremos el código en las próximas entregas)
  2. Creamos un código para que al presionar el botón Cancelar, el formulario se cierre.

Pueden parecer avances modestos, pero son conceptos de gran relevancia que utilizarás permanentemente en tu proceso de creación del formulario.

En la próxima entrega, tendremos importantes avances con la presentación de las Etiquetas y Cuadros de Texto.


Siguiente artículo:

Etiquetas y Cuadros de Texto. [Próximamente]