TOP

VBA-Lição 12.1. Formulários de usuário (UserForm)

YouLibreCalc for Excel logo

Um objeto UserForm é uma janela ou caixa de diálogo que faz parte da interface do usuário de um aplicativo.

UserForm permite criar janelas ou caixas de diálogo em seu projeto. No formulário você desenha e pode ver os controles.

Os formulários de usuário possuem propriedades que definem sua aparência, como posição, tamanho, cor e aspectos de seu comportamento.

Ao desenvolver o formulário:

  • Cada janela de formulário possui botões Minimizar, Expandir e Fechar.
  • Você pode visualizar a grade da forma e dimensionar as linhas da grade na guia Geral da caixa de diálogo Opções.
  • Use os botões da barra de ferramentas para desenhar controles no formulário. Na guia Geral da caixa de diálogo Opções, você pode personalizar os controles para alinhá-los à grade do formulário.

  • Criar formulário (UserForm)

    Para adicionar UserForm precisamos fazer a mesma coisa quando adicionamos um novo módulo:

    Depois disso, aparecerá o formulário (UserForm) e a barra de ferramentas (Toolbox):

    Se você não vir a janela Propriedades (Properties), certifique-se de que ela esteja exibida e comece editando o nome UserForm (para que você possa encontrá-lo facilmente mais tarde):

    Um formulário (UserForm) possui seus próprios eventos, assim como uma pasta de trabalho ou planilha. Para adicionar um evento, clique duas vezes em UserForm.

    Agora vamos criar dois eventos para ver como isso funciona. O primeiro evento definirá o tamanho inicial de UserForm e o segundo aumentará seu tamanho em 50px quando o usuário clicar.

    O evento UserForm_Initialize será acionado quando UserForm for iniciado:

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

    Para simplificar o código, podemos usar Me em vez do nome UserForm (porque este código está no UserForm com o qual estamos trabalhando):

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

    O segundo evento ocorrerá quando o usuário clicar em 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
    

    Formulário de lançamento (UserForm)

    Para executar UserForm em um procedimento, use Show:

    Sub show_userform()
         my_userform.Show
    End Sub