Cadastro de Clientes no Excel com VBA

Objetivo: Cadastro de clientes com consulta online do endereço através de um webservice e ainda cadastrar em uma planilha no Excel os dados do cadastro que foram cadastrados no formulário.




Para analisar as alterações criadas no VBA clique na guia Desenvolvedor->Visual Basic, as procedures criadas foram:

1. lsPesquisaCEP: Realiza a consulta dos dados do WebService de consulta de CEP.

2. lsAdiciona: Adiciona os dados cadastrados no formulário de clientes.

Sub lsPesquisaCEP(ByVal sCEP As String) On Error GoTo TratarErro Range("Consulta!a1:H1").Clear If sCEP <> "" Then With ActiveWorkbook.XmlMaps("webservicecep_Mapa") .ShowImportExportValidationErrors = False .AdjustColumnWidth = True .PreserveColumnFilter = False .PreserveNumberFormatting = False .AppendOnImport = False End With ActiveWorkbook.XmlImport URL:= _ "http://republicavirtual.com.br/web_cep.php?cep=" & sCEP, ImportMap:= _ Nothing, Overwrite:=False, Destination:=Range("Consulta!$a$1") End If Calculate Sair: Exit Sub TratarErro: MsgBox "CEP não cadastrado!" GoTo Sair Resume End Sub

Sub lsAdiciona() Dim iTotalLinhas As Integer Worksheets("Banco").Activate Range("Banco!$A$1").Select iTotalLinhas = Cells(Rows.Count, 1).End(xlUp).Row + 1 Cells(iTotalLinhas, 1).Value = Range("Banco!$L$1").Value + 1 Cells(iTotalLinhas, 2).Value = UCase(Range("Formulario!E7").Value) 'nome Cells(iTotalLinhas, 3).Value = Range("Formulario!E9").Value 'cep Cells(iTotalLinhas, 4).Value = UCase(Range("Formulario!E11").Value) 'tipo Cells(iTotalLinhas, 5).Value = UCase(Range("Formulario!G11").Value) 'logradouro Cells(iTotalLinhas, 6).Value = Range("Formulario!M11").Value 'número Cells(iTotalLinhas, 7).Value = UCase(Range("Formulario!E13").Value) 'bairro Cells(iTotalLinhas, 8).Value = UCase(Range("Formulario!E15").Value) 'cidade Cells(iTotalLinhas, 9).Value = UCase(Range("Formulario!M15").Value) 'uf Worksheets("Formulario").Activate Range("Formulario!E7").Value = "" 'nome Range("Formulario!E9").Value = "" 'cep Range("Formulario!M11").Value = "" 'número End Sub

Marcos Rieper



Use QR-Code to get this permaking using your Smartphone. QR Code for Cadastro de Clientes no Excel com VBA

35 Comentários

  1. Kruger disse:

    Olá Rieper… sempre se superando heim!

    Seguinte: Consulta um cep que inicie com zero “0”;
    Exemplo: 02350050

  2. Marcos Rieper disse:

    Olá Ivan,

    A gente tenta melhorar sempre, hehehe.

    Com relação ao bug, é verdade. Vou arrumar e postar again.

    Valew

    Rieper

  3. Luiz disse:

    Cara, Parabens aew.Marcos, estou com duvida a um tempão de como fazer o cadastro da forma que como fez.
    Sub lsAdiciona()
    Dim iTotalLinhas As Integer

    Worksheets(“Banco”).Activate
    Range(“Banco!$A$1”).Select

    iTotalLinhas = Cells(Rows.Count, 1).End(xlUp).Row + 1

    Cells(iTotalLinhas, 1).Value = Range(“Banco!$L$1”).Value + 1
    Cells(iTotalLinhas, 2).Value = UCase(Range(“Formulario!E7”).Value) ‘nome
    Cells(iTotalLinhas, 3).Value = Range(“Formulario!E9”).Value ‘cep
    Cells(iTotalLinhas, 4).Value = UCase(Range(“Formulario!E11”).Value) ‘tipo
    Cells(iTotalLinhas, 5).Value = UCase(Range(“Formulario!G11”).Value) ‘logradouro
    Cells(iTotalLinhas, 6).Value = Range(“Formulario!M11”).Value ‘número
    Cells(iTotalLinhas, 7).Value = UCase(Range(“Formulario!E13”).Value) ‘bairro
    Cells(iTotalLinhas, 8).Value = UCase(Range(“Formulario!E15”).Value) ‘cidade
    Cells(iTotalLinhas, 9).Value = UCase(Range(“Formulario!M15”).Value) ‘uf

    Worksheets(“Formulario”).Activate

    Range(“Formulario!E7”).Value = “” ‘nome
    Range(“Formulario!E9”).Value = “” ‘cep
    Range(“Formulario!M11”).Value = “” ‘número

    End Sub

    Se Possivel puder fazer uma video-aula ou algo assim, pq eu nao entendi, e tbm sobre como vc fez com o cep das cidades e tals, mto bom, parabens aew . se puder me ajudar .

  4. enivaldo disse:

    Gostaria de saber como faço para deixar como padrão o site dos correios para fazer a busca do CEP, pois estou fazendo alguns testes com CEP de diversas localidades e não localiza

    • Marcos Rieper disse:

      Boa noite Enivaldo,

      A base de dados do CEP que está sendo utilizada no cadastro de clientes é um web service gratuito, o do correio é pago.

      Teria que procurar algum outro web service melhor na internet com um banco mais atualizado.

      Abraço

      Marcos Rieper

  5. Elaine disse:

    Olá Marcos,

    Agradeço pela dica! Estou precisando disso, só tem um problema, sou bastante leiga em VB e o meu Excel é 2003. Tentei criar a mesma planilha, mas não está aparecendo a Macro lsPesquisaCEP quando abro a guia Macro e também não sei o que é sCEP.
    Enfim, será qe poderia me passar o arquivo na versão 2003 ou entrar em contato?

    Obrigada
    Elaine

  6. Ivair Pires disse:

    Bom dia
    gostei da plan gostaria de saber se consigo adaptar ela para baixar n registro de um site
    seria o numero final do link abaixo + 1 ou algo parecido
    http://www.portaldocidadao.tce.sp.gov.br/despesas_detalhada/11092931
    ajudaria muito
    abraços

  7. André disse:

    Consigo colocar o cadastro em um botão, por exemplo, quando eu quizer cadastrar um cliente, aperto o botao “cadastrar” e aparece a tela para cadastro.

    • Marcos Rieper disse:

      Boa tarde André,

      Consegue sim é só criar uma sub co mo código parecido com o abaixo utilizando o procedimento Show.

      Sub lsChamarFormulario()
      frmCadClientes.Show
      End Sub

      Abraço

      Marcos Rieper

  8. FERNANDO disse:

    BOA TARDE COMPANHEIRO

    ADOREI SEU PROGRAMA PARABÉNS, GOSTARIA DE ADD MAIS UNS CAMPOS PARA CADASTRO TIPO CNPJ, IE, E-MAIL, FONE.
    É POSSIVEL ACRESCENTAR E POSTAR AI PARA DONWLOAD?

    FICO NO AGUARDO DE SEU RETORNO.

    Atenciosamente
    Fernando Jonathan de Brito

  9. zairon disse:

    marcos gostei muito do programa que vc fez,gostaria de saber se tem como vc fazer um para mim com CNPJ, IE, E-MAIL, FONE.desde já obrigado.

  10. jailson disse:

    Bom dia amigo, muito legal seu aplicativo gostaria de saber se vc poderia demonstra como seria um botão de alteração para a informação preechido na planilha de banco de clientes ou seja se que precisa-se alterar a informação pela tela de cadastro.

  11. Marcio disse:

    COMO FAÇO PRA CONFIGURAR UMA PAGINA DE IMPRESSAO COM CAMPOS EM DETERMINADOS LOCAIS COM VBA?

  12. Armando Pereira disse:

    Gostaria de entender como a planilha oculta é utilizada. Pois não vejo referencia dela no módulo. Além disso, se tem como apontar Destination:= para outro lugar, por exemplo, direto para campos específicos em uma UserForm, por exemplo.

  13. Nscimento disse:

    Bixo, essa planilha ficou show!!! mas teria como inserirno código para trazer a latitude e longitude desse endereço?

    desde de já agradeço!!!

  14. nascimento disse:

    Olá marcos, gotsria de saber se tem com adcionar os campos Latitude e Longitude do endereço desejado.

  15. Olá Marcos,

    Show esta sua planilha.
    Gostaria de saber se vc consegue me ajudar com um trabalho semelhante. Tenho uma planilha de ficha cadastral em VBA onde eu fiz umas adaptações e gostaria de preencher os campos de endereço ao digitar o CEP.
    Outra coisa q gostaria de inserir na VBA é a inclusão de foto no cadastro.

    Márcio

  16. Fabrício disse:

    Marcos, vc indica algum outro webservice para o cadastro de clientes? O republica virtual está fora do ar.

    grato pela atenção!

    fabrício

  17. Matheus disse:

    Boa noite meu amigo to com um problema urgente e gostaria de saber se tem como o senhor me ajudar, precisaria de um desses so que com as seguintes informações a mais

    -Telefone para contato
    -Inicio do serviço
    -pago(opção sim e não) e quanto foi pago se sim
    -tipo de serviço
    – e numero do documento
    Isso tudo claro sem abusar da sua boa vontade, mas se o senhor pudesse me ajuda seria incrível pois meu chefe esta me sufocando por causa disso

    • Marcos Rieper disse:

      Boa noite Matheus,

      Para fazer isso é necessário um pouco mais de conhecimento em VBA, infelizmente não disponho de tempo para atender todos os pedidos. Este demoraria algum tempo para ser feito, teria que ser validado com você e tudo mais.

      No projeto final do curso de VBA do site é passado passo-a-passo como criar este formulário e com o conhecimento de VBA e algum tempo e disposição você conseguiria fazer estas alterações.

      Abraço

      Marcos Rieper

    • Marcos Rieper disse:

      Bom dia Carlos,

      Obrigado pelo seu contato, no momento não realizamos consultoria em Excel, mas no curso de VBA do Guia do Excel você aprenderá até o final do curso como criar este formulário e realizar as modificações necessárias.

      Abraço

      Marcos Rieper

  18. Amigo, boa noite.
    Sou do depto de TI do Sicoob. Gostaria de lhe pedir uma pequena ajuda.
    Preciso fazer no vba uma consulta de clientes por cnpj ou cpj. Tipo, vou ter um campo onde colocarei o cnpf ou cpj e no outro campo aparece validado ou não de acordo com a base de dados. Mas não consigo fazer com que execute uma consulta por cnpf e nem mesmo por cnpj vc pode me ajudar?

    Por favor responda por e-mail se puder.

    Obrigado

  19. Luis disse:

    Boa noite,
    Onde acho o endereço de “webservicecep_Mapa”, que está no código?
    Muito obrigado

  20. CLAUDIO ROBERTO disse:

    OLA,Marcos Rieper SERIA POSSÍVEL INCLUIR ALEM DO CEP INCLUIR TAMBÉM O TELEFONE SERIA MELHOR PARA MIM POIS OS MEUS CLIENTE PASSA SEMPRE O TELEFONE SE PODER ME PASSAR PARA MIM FICAREI AGRADECIDO

Deixe o seu comentário


 
%d blogueiros gostam disto: