Como criar Formulários no Excel (Vba) - UserForm

Por Jorge Sampaio quinta-feira, fevereiro 14

Os formulários do Excel são uma excelente ferramenta para a introdução de dados numa planilha. Para construir um formulário iremos utilizar a linguagem Visual Basic for Applications (VBA).

O nosso formulário de exemplo é bastante "simplista", tornando o tempo de aprendizagem mais curto. Para o ajudar a compreender este tutorial, adicionamos uma vídeo aula no final do artigo.

Dica: Também é possível criar um formulário para introdução de dados, usando a ferramenta "Base" do LibreOffice. Dessa forma, poderá criar uma base de dados gratuita. Para mais detalhes consulte o seguinte tutorial: Criar base de dados (Exemplo: formulário cadastro de clientes).


Como criar Formulários no Excel


Formulários no Excel - Preparação

Antes de iniciar a criação do seu formulário em Excel, é necessário ativar o separador "Programador" (ou Desenvolvedor), e permitir a execução de Macros. Para isso, execute os seguintes procedimentos:

1. Ativar o separador Programador (ou Desenvolvedor)

Aceda ao Menu Ficheiro do Excel- Opções - clique no separador "Personalizar Friso" - e selecione a opção "Programador".

2. Executar Macros no Excel

Aceda ao Separador "Programador" e clique no botão "Segurança Macros". Selecione a opção "Ativar todas as Macros".




Criar um Formulário no Excel


Agora poderá dar início à criação do seu formulário em Excel. Em primeiro lugar, comece por definir os dados que pretende adicionar na sua planilha (por exemplo: Nome, Morada, etc.).

No nosso exemplo, usaremos apenas 3 campos, que serão distribuídos na horizontal (células A1, B1 e C1).

Construir Formulário em VBA (UserForm)

Clique no separador "Programador" e pressione o botão "Visual Basic" (teclas de atalho ALT+F11). Clique com o botão direito do rato na janela Project Explorer e selecione "Insert" - "UserForm".

Como criar Formulários no Excel


Caso a janela Project Explorer não esteja ativa, pressione as teclas de atalho CTRL+R.

Como criar Formulários no Excel (Vba) - UserForm
Para construir o formulário, você deverá utilizar os elementos presentes na ToolBox. No nosso exemplo, iremos utilizar apenas 3 elementos:

  • Label: Texto Descritivo;

  • TextBox: Usada para recolher dados introduzidos;

  • CommandButton: Usado para gerar um evento (Fechar Janela, Introduzir os dados, etc.).


Para alterar o texto exibido nos CommandButton e Labels, altere o parâmetro "caption" da janela esquerda (Project Explorer).

Descubra como criar uma pesquisa para o seu formulário no seguinte tutorial: Como criar uma pesquisa em VBA.


Adicionar Código VBA (Visual Basic for Applications)

Para gerar um evento será necessário adicionar o código VBA no elemento necessário, neste caso, nos "Command Button" do seu Formulário.

Os nomes que atribuímos aos botões (Inserir - Sair) servem apenas como exemplo, você poderá adicionar o nome que achar mais conveniente.

Para adicionar o código VBA, clique duas vezes no botão que pretende editar para abrir a janela do Código.

Criar um botão de Sair:

Vamos começar pelo botão mais simples de criar, o botão "Sair" do seu formulário. Clique duas vezes no botão "Sair" e digite o seguinte código:

Private Sub CommandButton1_Click()
Unload Me
End Sub

Criar o botão "Inserir"

O botão "Inserir" irá gravar os dados do formulário, na sua planilha. Para adicionar o código, basta clicar duas vezes no botão Inserir e digitar o seguinte código:


Private Sub CommandButton1_Click()

Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("Folha1")

iRow = ws.Cells.Find(What:="*", SearchOrder:=xlRows, _
    SearchDirection:=xlPrevious, LookIn:=xlValues).Row + 1

'copia os dados para as celulas
ws.Cells(iRow, 1).Value = Me.TextBox1.Value
ws.Cells(iRow, 2).Value = Me.TextBox2.Value


'Limpa os campos TextBox para inserir novos dados
Me.TextBox1.Value = ""
Me.TextBox2.Value = ""
Me.TextBox1.SetFocus

End Sub


Clique no botão "Play" (tecla de atalho F5) para verificar o resultado final.

Criar o Botão "Guardar":




Private Sub CommandButton1_Click()

ActiveWorkbook.Save

End Sub


Executar o formulário automaticamente

Por fim, é necessário adicionar um código "extra" para que o seu formulário seja executado sempre que executa a sua planilha. Para isso, volte ao menu "Programador" - Visual Basic.

Na janela esquerda (Project Explorer) clique no objeto "EsteLivro" (ou o nome que deu ao seu arquivo). Na janela de código digite o seguinte trecho:


Como criar Formulários no Excel


Private Sub Workbook_Open()
    UserForm1.Show
End Sub


Guarde o seu formulário e verifique o resultado final.



Caso pretenda descobrir mais funcionalidades do Excel, consulte os seguintes artigos:

Outros artigos Recomendados:

3 Comentários " Como criar Formulários no Excel (Vba) - UserForm "

Unknown 12 de maio de 2013 às 16:34

Muito bom este post, tirou várias dúvidas minhas. Como se diz pegou na vêia.

FREDERICO FAJARDO 9 de abril de 2014 às 23:27

Gostei muito deste post. Será que você não daria uma aula como no vídeo de introdução ao VBA? Seria muito interessante, tipo: explicando sua logica, como funciona as funções, etc...
Show de bola cara...

Anónimo

Adorei!! Me ajudou d+++