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.