Cadastro de cliente em Excel VBA

Registro de cliente do Excel VBA Use este modelo de registro para controlar todos os clientes que você pode registrar para os seguintes campos: Nome, endereço, número, região, cidade, estado, CEP, ddd, telefone, telefone celular, rg, cpf, e-mail, data de registro e observação.

01 1024x461 1 Cadastro de cliente em Excel VBA

Após a conclusão do registro, podemos consultar os clientes cadastrados por id ou nome e imprimir os clientes cadastrados.

Agora vamos aos passos como funciona o cadastro de clientes em Excel VBA

Para registrar um novo cliente, clique no botão novo. Quando o código postal for ativado, ele adicionará automaticamente o endereço. Após inserir todos os dados do cliente, clique no botão de registro.

Se você começou a se registrar e decidiu não se registrar mais, o botão Limpar é usado para apagar os campos do formulário.

02 1 1024x488 1 Cadastro de cliente em Excel VBA

Para consultar todas as entradas, clique no botão de consulta e podemos filtrar por ID e nome. Após abrir a consulta, podemos editar os clientes cadastrados. O botão de exclusão pode optar por excluir um cliente registrado. Temos um botão de impressão que pode ser usado para imprimir todos os clientes cadastrados.

Temos nos divertido muito na programação Excel VBA, quando temos um código fonte bem preparado e uma excelente lógica de programação, é muito bom compartilhar conhecimento e visualizar todos os detalhes da fonte que usamos neste cadastro do cliente.

Agora, para usuários do Excel VBA que desejam usar este registro para aprender ou usar o código-fonte, aqui estão algumas instruções interessantes. Solicita o comando usado pelo cliente para se registrar no Excel VBA.

Dicas do Excel VBA 01

Colocamos códigos postais com endereços automáticos nos registros dos clientes para facilitar a vida dos usuários. Para isso, utilizamos o site https://viacep.com.br para acessar os códigos postais automáticos.

Confira como fazer a função ConsultaCEP conforme abaixo:

Function ConsultaCEP(valorcep As String, tipoCampo As String)
Dim oXmlDoc As DOMDocument
Dim oXmlNode As IXMLDOMNode
Dim oXmlNodes As IXMLDOMNodeList
Set oXmlDoc = New DOMDocument
oXmlDoc.async = False
oXmlDoc.Load (“https://viacep.com.br/ws/” + valorcep + “/xml/”)
Set oXmlNodes = oXmlDoc.SelectNodes(“/xmlcep/” + tipoCampo)
For Each oXmlNode In oXmlNodes
ConsultaCEP = oXmlNode.Text
Next
End Function

03 2 1024x391 1 Cadastro de cliente em Excel VBA

Para usar referências XML no ambiente VBA, você precisa habilitar o Microsoft XML, v3.0 em “Ferramentas-Referências”.

 

04 1 Cadastro de cliente em Excel VBA

Na agência postal do botão, precisamos colocar a seguinte função para indicar o txtlabel envolvido, como endereço, região, cidade e estado.

A sintaxe usada no botão de e-mail:

Private Sub ECorreios_Click()
txt_endereço = UCase(ConsultaCEP(txt_cep, “logradouro”))
txt_bairro = UCase(ConsultaCEP(txt_cep, “bairro”))
cmb_cidade = UCase(ConsultaCEP(txt_cep, “localidade”))
cmb_uf = UCase(ConsultaCEP(txt_cep, “uf”))
txt_numero.SetFocus
End Sub

No campo CEP, usamos o formato correto para preencher o CEP no evento KeyPress.

A sintaxe usada abaixo:

Private Sub txt_cep_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
txt_cep.MaxLength = 9
Select Case KeyAscii
Case 8, 48 To 57
If Len(txt_cep) = 5 Then
txt_cep.Text = txt_cep.Text & “-“
End If
Case Else
KeyAscii = 0
End Select
End Sub

Dicas do Excel VBA 02 – Botão imprimir

Criação de função para impressão de clientes cadastrados Função criada:

Sub Relatório_imprimir()
Application.ScreenUpdating = False
On Error Resume Next
Dim SvInput As String
Dim data As String
Dim var_MENSAGEM
Dim nome As String
data = VBA.Format(VBA.Date, “dd-mm-yyyy”)
SvInput = ThisWorkbook.Path & Application.PathSeparator & nome & “” & data & “.pdf”
With ActiveSheet
.ExportAsFixedFormat _
Type:=x1TypePDF, _
Filename:=SvInput, _
OpenAfterPublish:=True
End With
Application.ScreenUpdating = True
End Sub

E no botão imprimir usamos a função abaixo:

Sheets(“DADOS CLIENTES”).Select
Call Relatório_imprimir

Excel VBA 03 – A consulta fica oculta no formulário do cadastro cliente.

A otimização da tela durante a programação é muito importante, especialmente quando há vários componentes no formulário.

Por este motivo, ao abrir o registro, utilizamos a seguinte função no evento de inicialização para ocultar a ListaBox.

Private Sub UserForm_Initialize()
lst_busca.Visible = False
Label18.Visible = False
Frame4.Visible = False
End Sub

Aqui estão outras fontes de botões:

Botão Fechar: A função Unload Me fecha o formulário, após o fechamento iremos para a tabela principal “Planilhas (” PRINCIPAIS “). Selecione”.

Unload Me
Sheets(“PRINCIPAL”).Select

Botão Limpar: A função (txt_razao = “”) limpa o TxtBox, e a função “txt_razao.SetFocus” posiciona o botão neste campo txt_razao.

txt_razao = “”
txt_fantasia = “”
txt_endereço = “”
txt_numero = “”
txt_bairro = “”
cmb_uf = “”
cmb_cidade = “”
txt_cep = “”
txt_ddd = “”
txt_telefone = “”
TextBox2 = “”
txt_cnpj = “”
txt_ie = “”
txt_contatos = “”
txt_data = “”
txt_observacao = “”
txt_razao.SetFocus

Botão Editar: A função (lst_busca.Visible = False) irá ocultar o ListBox, adicionar um rótulo e um quadro para liberar o registro.

lst_busca.Visible = False
Label18.Visible = False
Frame4.Visible = False

Botão Salvar: Depois de fazer as alterações, o botão Salvar atualizará as informações inseridas. A função (Do until Sheets (“CLIENT DATA”). Cells (Line, 1) = “”) executará o loop até encontrar uma condição de célula vazia para localizar o registro. A função (If Sheets (“CUSTOM DATA”). Células (Linha, 1) = ID Então) encontrará o valor do registro na célula pesquisada. A função (Folhas (“DADOS PERSONALIZADOS”). Células (Linha, 1) .Selecionar) selecionará as células. A função (Folhas (“DADOS DO CLIENTE”). Células (Linha, 2) = txt_razao) instrui cada célula encontrada a realizar uma atualização.

Dim ID As Integer
ID = txt_id
Linha = 2
Sheets(“DADOS CLIENTES”).Select
Do Until Sheets(“DADOS CLIENTES”).Cells(Linha, 1) = “”
‘condicção para localizar o registro
If Sheets(“DADOS CLIENTES”).Cells(Linha, 1) = ID Then
Sheets(“DADOS CLIENTES”).Cells(Linha, 1).Select
Sheets(“DADOS CLIENTES”).Cells(Linha, 2) = txt_razao
Sheets(“DADOS CLIENTES”).Cells(Linha, 3) = txt_endereço
Sheets(“DADOS CLIENTES”).Cells(Linha, 4) = txt_numero
Sheets(“DADOS CLIENTES”).Cells(Linha, 5) = txt_bairro
Sheets(“DADOS CLIENTES”).Cells(Linha, 6) = cmb_cidade
Sheets(“DADOS CLIENTES”).Cells(Linha, 7) = cmb_uf
Sheets(“DADOS CLIENTES”).Cells(Linha, 8) = txt_cep
Sheets(“DADOS CLIENTES”).Cells(Linha, 9) = txt_ddd
Sheets(“DADOS CLIENTES”).Cells(Linha, 10) = txt_telefone
Sheets(“DADOS CLIENTES”).Cells(Linha, 11) = TextBox2
Sheets(“DADOS CLIENTES”).Cells(Linha, 12) = txt_cnpj
Sheets(“DADOS CLIENTES”).Cells(Linha, 13) = txt_ie
Sheets(“DADOS CLIENTES”).Cells(Linha, 14) = txt_data
Sheets(“DADOS CLIENTES”).Cells(Linha, 15) = txt_email
Sheets(“DADOS CLIENTES”).Cells(Linha, 16) = txt_observacao
MsgBox (“Cadastro alterado com sucesso!”)
Call UserForm_Initialize
Exit Sub
End If
Linha = Linha + 1
Loop

Botão de registro: A função (If txt_razao.Text = “” Then) torna o campo txt_razao obrigatório.

On Error Resume Next
If txt_razao.Text = “” Then
MsgBox “Preencha os Campos”
txt_razao.SetFocus
Exit Sub
End If
Sheets(“DADOS CLIENTES”).Select
Range(“A1048576”).Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Select
Dim data_cad As Date
ID = txt_id
razao = txt_razao
fantasia = txt_fantasia
endereço = txt_endereço
bairro = txt_bairro
cidade = cmb_cidade
uf = cmb_uf
Cepp = txt_cep
ddd = txt_ddd
telefone = txt_telefone
CELULAR = TextBox2
cnpj = txt_cnpj
ie = txt_ie
contatos = txt_contatos
data_cad = txt_data
observação = txt_observacao
ActiveCell = ID
ActiveCell.Offset(0, 1).Select
ActiveCell = razao
ActiveCell.Offset(0, 1).Select
ActiveCell = endereço
ActiveCell.Offset(0, 1).Select
ActiveCell = txt_numero
ActiveCell.Offset(0, 1).Select
ActiveCell = bairro
ActiveCell.Offset(0, 1).Select
ActiveCell = cidade
ActiveCell.Offset(0, 1).Select
ActiveCell = uf
ActiveCell.Offset(0, 1).Select
ActiveCell = Cepp
ActiveCell.Offset(0, 1).Select
ActiveCell = ddd
ActiveCell.Offset(0, 1).Select
ActiveCell = telefone
ActiveCell.Offset(0, 1).Select
ActiveCell = CELULAR
ActiveCell.Offset(0, 1).Select
ActiveCell = cnpj
ActiveCell.Offset(0, 1).Select
ActiveCell = ie
ActiveCell.Offset(0, 1).Select
ActiveCell = data_cad
ActiveCell.Offset(0, 1).Select
ActiveCell = txt_email
ActiveCell.Offset(0, 1).Select
ActiveCell = observação
txt_razao = “”
txt_fantasia = “”
txt_endereço = “”
txt_numero = “”
txt_bairro = “”
cmb_uf = “”
cmb_cidade = “”
txt_cep = “”
txt_ddd = “”
txt_telefone = “”
TextBox2 = “”
txt_cnpj = “”
txt_ie = “”
txt_contatos = “”
txt_data = “”
txt_observacao = “”
txt_email = “”
CheckBox1 = False
Call UserForm_Initialize

Novo botão: A função (txt_razao = “”) limpa o TxtBox, e a função “txt_razao.SetFocus” posiciona o botão neste campo txt_razao.

txt_razao = “”
txt_fantasia = “”
txt_endereço = “”
txt_numero = “”
txt_bairro = “”
cmb_uf = “”
cmb_cidade = “”
txt_cep = “”
txt_ddd = “”
txt_telefone = “”
TextBox2 = “”
txt_cnpj = “”
txt_ie = “”
txt_email = “”
txt_data = “”
txt_observacao = “”
Call UserForm_Initialize
CommandButton1.Enabled = True
txt_razao.SetFocus

Botão Excluir: A função (If txt_razao.Text = “” Then) torna o campo txt_razao obrigatório. A função (Do until Sheets (“CLIENT DATA”). Cells (Line, 1) == CODE Then) executará o loop até encontrar uma condição de célula vazia para localizar o registro. A função (If Sheets (“CUSTOM DATA”). Células (Linha, 1) = ID Então) encontrará o valor do registro na célula pesquisada. Função (ActiveCell.Rows (“1: 1”). WholeRow.Select Selection.Delete Shift: = xlUp ActiveCell.Select). Este comando excluirá toda a linha.

‘Call carrega_listaprodutos
Dim CODIGO As Integer
Linha = 2
CODIGO = txt_id
Sheets(“DADOS CLIENTES”).Select
Do Until Sheets(“DADOS CLIENTES”).Cells(Linha, 1) = “”
‘condicção para localizar o código
If Sheets(“DADOS CLIENTES”).Cells(Linha, 1) = CODIGO Then
Sheets(“DADOS CLIENTES”).Cells(Linha, 1).Select
Dim resposta As String ‘cria a variável resposta
resposta = MsgBox(“O registro será excluído. Confirma a exclusão?”, vbYesNo) ‘cria a mensagem para determinar qual ação será executada
If resposta = vbYes Then ‘ se a resposta for sim então
‘comando para deletar toda a linha
ActiveCell.Rows(“1:1”).EntireRow.Select
Selection.Delete Shift:=xlUp
ActiveCell.Select
‘limpa todos os campos do formulário
txt_id = “”
txt_razao = “”
txt_endereço = “”
txt_numero = “”
txt_bairro = “”
cmb_cidade = “”
txt_cep = “”
cmb_uf = “”
TextBox2 = “”
txt_ddd = “”
txt_telefone = “”
txt_data = “”
txt_observacao = “”
txt_ie = “”
txt_cnpj = “”
MsgBox (“Registro excluído com sucesso!!!”)
lst_busca.Clear
Call UserForm_Initialize
Else
End If
End If
Linha = Linha + 1
Loop
txt_razao.SetFocus

Seguindo esses passos, suas planilhas vão ficar completas.

Compartilhar:

Facebook
Twitter
Pinterest
LinkedIn

Presidente busca reforçar base aliada com mudanças estratégicas no primeiro escalão O presidente Luiz Inácio Lula da Silva anunciou, em 2 de maio de...

O cartão Mastercard Platinum é um dos mais completos do Brasil. Confira os benefícios e veja se ele é uma opção para seu perfil!...
Descubra os 7 passos para implantar o que é Customer Success na sua empresa, a melhor estratégia de vendas e atendimento focadas na satisfação...

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Leia Também

Categorias Populares

Calculadora

Geradores

Bancos

Documento

Bitcoin

Tecnologia

Beneficios

Governo