Criar Formulário de Cadastro de Clientes VBA Excel

Neste artigo você aprenderá como criar um formulário de cadastro de clientes VBA no Excel, com vídeo-aula passo-a-passo e download de exemplo.

Tabela de Cadastro de Clientes

Na nossa pasta de trabalho temos uma planilha de cadastro de clientes, no formato de tabela.

Nela temos os campos que são usados no nosso formulário de cadastro de clientes.

Os campos que temos no nosso cadastro são:

  • ID
  • Nome
  • CEP
  • Cidade
  • UF
  • Endereço
  • N.º

Após isso o primeiro passo é habilitar a guia desenvolvedor, siga o procedimento deste link.

Após isso clique na guia Desenvolvedor e no botão Visual Basic.

Na janela do VBE (Visual Basic Editor) que abre clique no menu Inserir->User form.

Após isso clique no botão de Caixa de Ferramentas.

Na tela que abre selecionamos os itens e incluímos o label, rótulo de dados.

Na tela seguinte clique no label editor e adicione os campos no formulário.

Após isso adicionamos também textbox que é aonde iremos adicionar os textos, aonde iremos digitar.

Após isso repetimos a operação para todos os campos de rótulos e também os campos de texto para digitação.

Após isso adicionamos os campos de botões para o nosso controle de formulário.

Adicionamos então os campos no formulário e por fim temos os seguintes campos no nosso formulário.

Após isso já temos então nosso formulário pronto e podemos incluir a programação.

Programação do Formulário de Cadastro de Clientes VBA Excel

No nosso formulário de cadastro de clientes temos agora a necessidade de programar o nosso formulário de cadastro de clientes.

Para isso clique no botão Inserir->Módulo, nele iremos adicionar a programação para ler, gravar e movimentar entre os registros.

No módulo inserido coloque o seguinte código:

Global lLinha       As Long
Global lUltimaLinha As Long

Public Function lNumUltimaLinha() As Long
    lNumUltimaLinha = Clientes.Cells(Clientes.Rows.Count, 2).End(xlUp).Row
End Function

Public Sub lsLimpar()
    With frmCadastro
        .lblCodigo.Caption = ""
        .txtNome.Value = ""
        .txtCEP.Value = ""
        .txtCidade.Value = ""
        .txtEndereco.Value = ""
        .txtNumero.Value = ""
        .txtUF.Value = ""
        .txtNome.SetFocus
    End With
End Sub

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

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

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

Public Sub lsProximo()
    If lLinha + 1 <= lNumUltimaLinha Then
        lLinha = lLinha + 1
        
        lsCarregar lLinha
    End If
End Sub

Public Sub lsAnterior()
    If lLinha - 1 >= 5 Then
        lLinha = lLinha - 1
        
        lsCarregar lLinha
    End If
End Sub

O código acima já está comentado, ele tem toda a programação do código VBA para o formulário.

No nosso cadastro de clientes de formulário VBA adicionamos o seguinte código fonte:

Private Sub cmdAnterior_Click()
    lsAnterior
End Sub

Private Sub cmdExcluir_Click()
    If lLinha >= 5 Then
        lsExcluir lLinha
    End If
End Sub

Private Sub cmdNovo_Click()
    lsLimpar
    lLinha = 0
End Sub

Private Sub cmdProximo_Click()
    lsProximo
End Sub

Private Sub cmdSalvar_Click()
    If lLinha = 0 Then
        lLinha = lNumUltimaLinha
        
        If lLinha >= 5 Then
            lLinha = lLinha + 1
        End If
    End If
    
    lsCadastrar lLinha
    lsCarregar lLinha
    
    MsgBox "Registro salvo"
End Sub

No código acima temos a programação dos botões do nosso formulário e no vídeo ao topo do artigo você terá o desenvolvimento passo-a-passo do zero do nosso formulário VBA Excel.

Download da Planilha Formulário Cadastro de Clientes no Excel

Para realizar o download desta planilha de exemplo clique no botão abaixo.

Baixe a planilha

5/5 - (Total de avaliações: 1)

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

plugins premium WordPress