Busca de CEP com preenchimento automático dos campos

Caros, Bom dia,

Em uma busca por informações na internet, baixei do site ViaCEP (ViaCEP - Webservice CEP e IBGE gratuito) um modelo de planilha onde consta uma fórmula para busca de informações de nome de Logradouro, Complemento, Bairro, Cidade e UF.

=SE($D$8<>"";FILTROXML(SERVIÇOWEB(CONCATENAR(“https://viacep.com.br/ws/";$D$8;"/xml/"));"//logradouro");"”)

=SE($D$8<>"";FILTROXML(SERVIÇOWEB(CONCATENAR(“https://viacep.com.br/ws/";$D$8;"/xml/"));"//complemento");"”)

=SE($D$8<>"";FILTROXML(SERVIÇOWEB(CONCATENAR(“https://viacep.com.br/ws/";$D$8;"/xml/"));"//bairro");"”)

=SE($D$8<>"";FILTROXML(SERVIÇOWEB(CONCATENAR(“https://viacep.com.br/ws/";$D$8;"/xml/"));"//localidade");"”)

=SE($D$8<>"";FILTROXML(SERVIÇOWEB(CONCATENAR(“https://viacep.com.br/ws/";$D$8;"/xml/"));"//uf");"”)

Eu tentei adequar uma macro com fórmula postada pelo mestre @schiavinatto, porém com certeza perdi algo, pois mesmo usando as funções em inglês e português, eu não obtive êxito.

Qual é minha necessidade: Executar, à partir da perda do foco no campo fmtCEP da caixa de diálogo dlgCadastro, a macro que irá buscar os dados do cep inserido, e preencher automaticamente nos campos seguintes (Logradouro, Complemento, Bairro, Cidade e UF). Se possível também fazer a pesquisa reversa (não é obrigatório), preenchendo-se o nome da rua, cidade e estado, e preenchendo o cep.

Encontrado os dados, o campo cep deve ser travado, deixando os demais campos abertos para eventual reparo do texto. Não se encontrando os dados, seja por qualquer razão, os campos devem ficar abertos para correção eventual.

Portanto, pergunto se estas fórmulas podem ser passadas para uma macro, seguindo os critérios informados acima. Seguem a planilha original da ViaCEP para avaliação, bem como a minha planilha onde pretendo aplicar a macro, e também imagens ilustrativas do relato acima

Grato desde já pela atenção.

Plan Teste Cep.ods (325.9 KB)

Plan Teste Cadastro de Clientes.ods (156.0 KB)

Ola Claudio, é só um comentário, fazer os formulários usando Dialogo, com certeza, fica mais bonito e profissional, mas o trabalho e a necessidade de conhecimento é bem maior.

Não sou programador, minhas macros as vezes é uma colcha de retalhos de partes de macros encontrada na internet, uma maneira que encontrei, da aparência ficar melhor, foi inserir os botões para navegação entre as planilhas e deixar somente a planilha visível, ocultando Menus e etc.

Caro, Bom dia,

Sim inclusive, já tive interações de outros colegas na planilha Plan Teste Cadastro de Clientes, em especial pelo @FelipeAle, @Grafeno, e de várias outros retalhos de código que fui usando ao longo da construção desta planilha, muito pelo aprendizado.

Está 99% pronta, faltando pequenos detalhes de estética, e uma ou outra correção. Esta feature já é uma coisa a mais, que inclusive tenho em uma outra planilha em Excel, e que gostaria de aplicar nesta planilha do Calc.

Lembrando que a planilha “Plan Teste Cadastro de Clientes” pode ser usada por qualquer pessoa do fórum, sem nenhuma restrição.

Fico no aguardo de sugestões, e desde já agradeço a todos.

Att,