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).
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
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".
Caso a janela Project Explorer não esteja ativa, pressione as teclas de atalho CTRL+R.
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:
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 "
Muito bom este post, tirou várias dúvidas minhas. Como se diz pegou na vêia.
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...
Adorei!! Me ajudou d+++
Enviar um comentário