TOP

VBA-Lección 12.1. Formularios de usuario (UserForm)

Un objeto UserForm es una ventana o cuadro de diálogo que forma parte de la interfaz de usuario de una aplicación.

UserForm le permite crear ventanas o cuadros de diálogo en su proyecto. En el formulario, dibuja y puede ver los controles.

Los formularios de usuario tienen propiedades que definen su apariencia, como la posición, el tamaño, el color y aspectos de su comportamiento.

Al desarrollar el formulario:

  • Cada ventana de formulario tiene botones Minimizar, Expandir y Cerrar.
  • Puede ver la cuadrícula de formas y cambiar el tamaño de las líneas de la cuadrícula en la pestaña General del cuadro de diálogo Opciones.
  • Utilice los botones de la barra de herramientas para dibujar controles en el formulario. En la pestaña General del cuadro de diálogo Opciones, puede personalizar los controles para alinearlos con la cuadrícula del formulario.

  • Crear formulario (UserForm)

    Para agregar UserForm necesitamos hacer lo mismo cuando agregamos un nuevo módulo:

    Después de eso, aparecerá el formulario (UserForm) y la barra de herramientas (Toolbox):

    Si no ve la ventana Propiedades (Properties), asegúrese de que se muestre y luego comience editando el nombre UserForm (para que pueda encontrarlo fácilmente más adelante):

    Un formulario (UserForm) tiene sus propios eventos, al igual que un libro de trabajo o una hoja. Para agregar un evento, haga doble clic en UserForm.

    Ahora vamos a crear dos eventos para ver cómo funciona esto. El primer evento establecerá el tamaño inicial de UserForm y el segundo aumentará su tamaño en 50 px cuando el usuario haga clic.

    El evento UserForm_Initialize se activará cuando se inicie UserForm:

    Private Sub UserForm_Initialize()
        my_userform.Height = 100
        my_userform.Width  = 100
    End Sub
    

    Para simplificar el código, podemos usar Me en lugar del nombre UserForm (porque este código está en el UserForm con el que estamos trabajando):

    Private Sub UserForm_Initialize()
        Me.Height = 100
        Me.Width  = 100
    End Sub
    

    El segundo evento ocurrirá cuando el usuario haga clic en UserForm:

    Private Sub UserForm_Initialize()
        Me.Height = 100
        Me.Width  = 100
    End Sub
    
    Private Sub UserForm_Click()
        Me.Height = Me.Height + 50
        Me.Width  = Me.Width + 50
    End Sub
    

    Formulario de lanzamiento (UserForm)

    Para ejecutar UserForm en un procedimiento, use Mostrar:

    Sub show_userform()
         my_userform.Show
    End Sub