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.
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".
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).
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:
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:
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:
Guarde o seu formulário e verifique o resultado final.
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.
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.

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).
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
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
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
UserForm1.Show
End Sub
Guarde o seu formulário e verifique o resultado final.