Formulário VBA Excel Grátis

Veja no vídeo abaixo e no artigo como criar um formulário VBA no Excel passo-a-passo.

No exemplo fazemos um cadastro de clientes com inclusão, edição e exclusão de dados via formulário interagindo com a tabela na planilha do Excel.

Como Funciona o Formulário VBA deste Exemplo

No nosso exemplo temos um cadastro de clientes e desejamos entrar estes dados através de um formulário VBA.

Eles estão dispostos da seguinte forma em uma tabela no Excel:

Como pode notar temos os dados:

  • Nome
  • CEP
  • Cidade
  • UF
  • Endereço
  • Número

Neste sentido desejamos que ao chamar o formulário tenhamos então o seguinte visual dos dados:

Formulário VBA Excel Grátis 4

Para isso nós iremos mostrar passo-a-passo como criar do zero desde habilitar a guia desenvolvedor para que possa programar esta entrada de dados.

Habilitar Macros no Excel

Por padrão o Excel não traz a guia desenvolvedor habilitada, é nela que você pode criar um cadastro de clientes por exemplo, ou automatizar tarefas repetitivas. É uma ferramenta de programação completa.

Para habilitar a guia desenvolvedor clique com o botão direito sobre qualquer parte cinza de uma das guias do menu e clique com o botão direito e selecione Personalizar a Faixa de Opções.

Marque a opção Desenvolvedor conforme abaixo, com isso a guia já irá aparecer.

Como habilitar a guia desenvolvedor no Excel 3

Criar um Formulário de Entrada de Dados VBA no Excel

Na guia desenvolvedor clique no botão Visual Basic e clique na guia Inserir e Formulário.

No Formulário colocamos os objetos conforme temos na imagem abaixo.

Formulário VBA Excel Grátis 3

Desenhe adicionando command butons, labels e textbox.

Nele nós renomeamos os campos txt para:

  • txtNome
  • txtCEP
  • txtCidade
  • txtUF
  • txtEndereco
  • txtNumero

E os botões para:

  • cmdNovo
  • cmdExcluir
  • cmdGravar

Então inclua o seguinte código dando um duplo clique no botão cmdNovo:

Private Sub cmdExcluir_Click()
    lsExcluir
End Sub

Private Sub cmdGravar_Click()
    If lLinha = 0 Then
        lLinha = Clientes.Cells(Clientes.Rows.Count, 1).End(xlUp).Row
        If lLinha <> 4 Then
            lLinha = lLinha + 1
        End If
    End If
    
    lsCadastrar lLinha
    lsLimpar
End Sub

Private Sub cmdNovo_Click()
    lsLimpar
    lsLinha = 0
End Sub

Veja como fica o código no formulário:

Formulário VBA Excel Grátis 1

Clique também no módulo e inclusa o código abaixo:

Global lLinha As Long

Public Sub lsExcluir()
    If MsgBox("Deseja excluir este registro", vbYesNo) Then
        Clientes.Cells(lLinha, 1).EntireRow.Delete
        lsLimpar
    End If
End Sub

Public Sub lsLimpar()
    With frmCliente
        .txtNome = ""
        .txtCEP = ""
        .txtCidade = ""
        .txtEndereco = ""
        .txtNumero = ""
        .txtUF = ""
    End With
    
    lLinha = 0
End Sub

Public Sub lsCadastrar(ByVal lLinha As Long)
    With Clientes
        .Cells(lLinha, 2).Value = frmCliente.txtNome
        .Cells(lLinha, 3).Value = frmCliente.txtCEP
        .Cells(lLinha, 4).Value = frmCliente.txtCidade
        .Cells(lLinha, 5).Value = frmCliente.txtUF
        .Cells(lLinha, 6).Value = frmCliente.txtEndereco
        .Cells(lLinha, 7).Value = frmCliente.txtNumero
    End With
End Sub

Public Sub lsPreencher(ByVal lLinha As Long)
    With Clientes
        frmCliente.txtNome = .Cells(lLinha, 2).Value
        frmCliente.txtCEP = .Cells(lLinha, 3).Value
        frmCliente.txtCidade = .Cells(lLinha, 4).Value
        frmCliente.txtUF = .Cells(lLinha, 5).Value
        frmCliente.txtEndereco = .Cells(lLinha, 6).Value
        frmCliente.txtNumero = .Cells(lLinha, 7).Value
    End With
End Sub

Veja como fica o código no módulo:

Formulário VBA Excel Grátis

Por fim, ainda no VBE, na árvore de objetos, dê um duplo clique sobre a planilha que está trabalhando.

Nós iremos adicionar um código para que ao dar um duplo clique seja chamado o formulário de cadastro.

O código é o seguinte:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Clientes.Cells(Target.Row, 1).Value <> "" And Target.Row > 3 Then
        lLinha = Target.Row
    End If
    
    If lLinha > 0 Then
        lsPreencher lLinha
    End If
    
    frmCliente.Show
    Cancel = True
End Sub

No topo deste artigo tem um vídeo mostrando como criar o formulário do zero, aconselho também a assistir pois ele mostra passo-a-passo como realizar e pode tirar qualquer dúvida.

E abaixo pode também realizar o download da planilha pronta.

Download

Clique no botão abaixo para realizar o  download da planilha de entrada de dados Excel VBA, com exemplo de dados:

Baixe a planilha


Marcos Rieper

Pai, marido, professor e consultor em Excel.

Obrigado por ler este artigo, este blog foi criado para difundir o conhecimento em Excel à todos.

Divulgamos novos artigos nas redes sociais, basta clicar nos ícones abaixo.

Excel não precisa ser complicado

Assine nossa newsletter e receba dicas práticas para dominar o excel