Documente Academic
Documente Profesional
Documente Cultură
BUSCA
CATEGORIAS
Artigos e Planilhas de
Leitores
Avançado
Básico
Excel
Featured
Este artigo foi criado para auxiliar o nosso amigo Djanes, que participa do nosso Fórum Guia do
Geral
Excel, veja a dúvida dele em: http://guiadoexcel.com.br/forum/viewtopic.php?f=14&t=19.
Grá co
A dúvida consiste em a partir de uma lista de dados com UF e cidade, buscar no site dos correios
os dados de faixa de CEP. Grá cos
Para esta ação tive ajuda do amigo Jardel Novaes para a criação do código que está comentado Intermediário
logo abaixo.
Jogos
Este código fonte teve também uma parte baseada nas explicações do artigo do nosso amigo
Tomaz Vasquez http://www.tomasvasquez.com.br/blog/microsoft-o ce/vba-interagindo-com-o- Loja
objeto-internet-explorer, ao qual também agradeço.
Nível
planilhas
http://www.guiadoexcel.com.br/preencher-formulario-da-web-via-codigo-vba-excel/ 1/12
17/12/2017 Preencher formulário da web via código VBA Excel
Para utilizar a planilha de exemplo de como interagir com controles da internet com VBA, basta Planilhas
clicar no botão Processar e aguardar a nalização do preenchimento da planilha com as faixas de
CEP. planilhas prontas
Sem categoria
VBA
MAIS POPULARES
Planilha de consulta de
CNPJ automática – 1
ano de acesso
Planilha de log de
usuários Excel e VBA
Como calcular
O código irá abrir o internet explorer e realizar as consultas preenchendo os dados da planilha.
combinação no Excel –
Função Combin
ÚLTIMOS COMENTÁRIOS
ANDREY SARTORI em
Solver e VBA no Excel –
Automatizar a solução de
Sem mais delongas, o código fonte segue abaixo totalmente comentado e ao nal do artigo um problemas
link para você realizar o download da planilha no exemplo.
Gabriel em GUT – Técnica
Aproveito a oportunidade para convidá-lo a participar do nosso fórum ajudando nas dúvidas dos para de nir prioridades em
colegas e postando suas próprias dúvidas: Fórum Guia do Excel. tomadas de decisões –
Excel
ThisWorkbook.VBProject.References.AddFromGuid "{EAB22AC0-30C1-11CF-
A7EB-0000C05BAE0B}", 1, 1
End Sub TAGS
Soluções em Excel
Sub lsPesquisarCEPFaixa()
'Inclui a referência se não houver Desenvolvimento de soluções
lReferenciaIE
Consultoria Excel
http://www.guiadoexcel.com.br/preencher-formulario-da-web-via-codigo-vba-excel/ 2/12
17/12/2017 Preencher formulário da web via código VBA Excel
Dim IE As InternetExplorer Converter para Word
Dim lCidade As String
Converter PDF
Dim lUF As String
Dim lUltimaLinhaAtiva As Long Converter dados
Dim lContador As Long Recrutamento e seleção
Análise de dados
'Como a página possui JavaScript que cria os objetos que são
Cenários em Excel
preenchidos após a carga completa, é necessário
'aguardar um tempo, coloquei 3 segundos, alterar conforme a Gerenciador de cenários
necessidade.
Estoque Teste de hipóteses
'Caso não tenha javascript na criação dos objetos da página
comentar esta parte do código, pois será bem Função própria Validar email
Dicas Excel
'Carrega os dados de cidade e UF que serão preenchidos na página
Filtro de dados no Excel
lCidade = Range("B" & lContador).Value
lUF = Range("A" & lContador).Value Tutorial VBA
http://www.guiadoexcel.com.br/preencher-formulario-da-web-via-codigo-vba-excel/ 3/12
17/12/2017 Preencher formulário da web via código VBA Excel
armazena esta informação diretamente na coluna C da linha
'da planilha
For Each i In IE.Document.body.getElementsByTagName("table")
If InStr(i.innertext, "Faixa(s) de CEP:") > 0 Then
For Each l In i.getElementsByTagName("tr")
If InStr(l.innertext, lCidade) Then
Range("C" & lContador).Value =
l.getElementsByTagName("td")(1).innertext
End If
Next l
End If
Next i
Next lContador
MsgBox "Concluído!"
End Sub
Veja neste artigo como copiar os procedimentos acima e incluir na sua pasta pessoal de Macros
neste artigo: http://guiadoexcel.com.br/habilitando-a-guia-desenvolvedor-e-copiando-
procedimentos-vba-sub-da-internet
Abraço
Marcos Rieper
Artigos Relacionados
Planilha de log de usuários Solver e VBA no Excel – Contar, Somar e Média pela cor
Excel e VBA Automatizar a solução de da célula no Excel
problemas
Leia mais Leia mais
Leia mais
26 Comentários
http://www.guiadoexcel.com.br/preencher-formulario-da-web-via-codigo-vba-excel/ 4/12
17/12/2017 Preencher formulário da web via código VBA Excel
Guilherme
Marcos Rieper
Olá Marcos
Primeiramente muito boa a macro desenvolvida, parabéns pelo trabalho.
Não conheço muito de VBA, porem consegui fazer algumas modi cações
utilizando seu código para fazer login em um site e ir até uma página
especí ca que possui uma tabela, nesta tabela gostaria de retirar alguns
dados no mesmo estilo do CEP. Tentei de muitas maneiras, mas não
consegui retirar nenhuma informação dela.
Será que vc pode me dar uma luz?
abaixo link da imagem da tabela do site
http://imageshack.com/a/img908/6909/D22sQv.png
Obs. tentei postar no fórum, mas meu cadastro ainda não foi liberado
Agradeço antecipadamente
Att
Ronei
Abraço
Marcos Rieper
http://www.guiadoexcel.com.br/preencher-formulario-da-web-via-codigo-vba-excel/ 5/12
17/12/2017 Preencher formulário da web via código VBA Excel
Neste caso você pode ver neste artigo como realizar a tarefa:
http://guiadoexcel.com.br/obter-dados-externos-da-web-excel-
2007-ou-2010, entre outros exemplos no site.
Estou adptando para fazer uma busca e com di culdade em alterar alguns
campos, peço sua ajuda.
Informar o CNPJ
IE.Document.all(“CGC”).innertext = lCNPJ
IE.Document.forms(“B1”).submit
Muito Obrigado!
Boa noite.
Estou com uma duvida se é possível e se sim, como fazer.
Tenho uma planilha com notas de alunos, e tenho que postar as notas no
site da escola, teria alguma maneira de automatizar isto, fazendo ele já
enviar as notas da planilha direto sem precisar eu preencher o formulário do
site.
Desde já
Agradeço.
http://www.guiadoexcel.com.br/preencher-formulario-da-web-via-codigo-vba-excel/ 6/12
17/12/2017 Preencher formulário da web via código VBA Excel
At.
Marcos Rieper
Olá Marcos,
eu z o download da sua planilha para busca de cep na web, percebi que o
caminho do site dos Correios alterou para
http://www.buscacep.correios.com.br/sistemas/buscacep/resultadoBuscaFaixaCEP.cfm
ajustei o código, porém não está carregando o valor do range para o Excel.
Você tem algum ideia o que está errado?
Olá typebr, vou ter que veri car com calma o problema, assim que
possível eu lhe retorno.
Olá Edimar,
http://www.guiadoexcel.com.br/preencher-formulario-da-web-via-codigo-vba-excel/ 7/12
17/12/2017 Preencher formulário da web via código VBA Excel
For Each i In
IE.Document.body.getElementsByTagName(“table”)
If InStr(i.innertext, “Faixa de CEP”) > 0 Then
For Each l In i.getElementsByTagName(“tr”)
If InStr(l.innertext, lCidade) Then
Range(“C” & lContador).Value =
l.getElementsByTagName(“td”)(1).innertext
Olá,
Sim, exatamente.
Abraço
Marcos Rieper
Bom dia,
Estou a tentar reproduzir o código para um site apenas com a inserção de
uma variável.
Estou com os seguintes problemas:
1-O endereço URL onde se encontra o form para preencher é o mesmo que
retorna o resultado, e pelo código HTML do site o resultado que pretendo
para o Excel está dentro de uma DIV .
http://www.guiadoexcel.com.br/preencher-formulario-da-web-via-codigo-vba-excel/ 8/12
17/12/2017 Preencher formulário da web via código VBA Excel
Sub nome_macro()
lReferenciaIE
Dim IE As Object
Dim objElement As Object
Dim objCollection As Object
Dim lmatricula As String
Dim lUltimaLinhaAtiva As Long
Dim lContador As Long
lUltimaLinhaAtiva =
Worksheets(“analise”).Cells(Worksheets(“analise”).Rows.Count,
1).End(xlUp).Row
Set IE = CreateObject(“InternetExplorer.Application”)
IE.Visible = True
For lContador = 2 To lUltimaLinhaAtiva
IE.Navigate “http://www.imt-ip.pt/MatriculasCanceladas/matriculas.asp”
While IE.ReadyState READYSTATE_COMPLETE
Wend
sng = Timer
Do While sng + 1 > Timer
Loop
lmatricula = Range(“A” & lContador).Value
IE.Document.all(“matricula”).innertext = lmatricula
IE.Document.forms(“Pesquisa”).submit
While IE.ReadyState READYSTATE_COMPLETE
Wend
sng = Timer
Do While sng + 3 > Timer
Loop
For Each i In IE.Document.body.getElementsByTagName(“div”)
If InStr(i.innertext, “foi”) > 0 Then
For Each l In i.getElementsByTagName(“u”)
If InStr(l.innertext, lmatricula) Then
Range(“G” & lContador).Value = l.getElementsByTagName(“b”)(1).innertext
End If
Next l
End If
Next i
Next lContador
MsgBox “Concluído!”
End Sub
Boa Tarde
Fazendo uma macro para localizar o endereço de um CEP e usei como base
seu código, porem não entendi como eu retira as informações da tabela que
o site retorna, você poderia da uma ajuda?
Olá Antonio,
Este tipo de código varia totalmente de um site para o outro.
http://www.guiadoexcel.com.br/preencher-formulario-da-web-via-codigo-vba-excel/ 9/12
17/12/2017 Preencher formulário da web via código VBA Excel
Buenas Marcos
Parabéns pelo material, muito esclarecedor.
Olá Martin,
Boa tarde!
Primeiramente, parabéns e muito obrigada por compartilhar!
Estou adaptando para minhas necessidades, mas preciso inicialmente
informar meu usuário e senha antes de acessar a página da qual vou extrair
as informações.
Poderia me ajudar dando alguma dica ou me dizendo se já algo parecido
aqui no guia?
Obrigada!
Olá Adriana,
Não temos nada assim, porque cada consulta web é diferente.
Necessário desenvolver especí co para cada caso.
Bruno
Bom dia,
http://www.guiadoexcel.com.br/preencher-formulario-da-web-via-codigo-vba-excel/ 10/12
17/12/2017 Preencher formulário da web via código VBA Excel
Sim, basicamente a lógica é a mesma deste artigo que você
comentou, mas caso você tenha a lista diretamente você
consegue copiar diretamente pelas ferramentas de conexão do
Excel.
Boa tarde Marcos eu escrevi aqui ontem e não sei se foi ou não, vou postar
de novo aqui então
Primeiramente parabéns pelo artigo, muito bom!
Trabalhei um tempo com macros e VBA , e estou meio enferrujado pois faz
uns 5-6 que não mexo mais com isso veja se pode me ajudar:
Preciso consultar cerca de 3.000 leis no site da Câmara Municipal de São
Paulo e a cada consulta (pelo numero da lei que esta tabelado em uma
coluna do excel) precisaria retornar e colar 2 campos de cada consulta ao
lado de cada numero na propria tabela.
O site serai http://cm332adm/scripts/wxis.exe/iah/?
IsisScript=iah/iah.xis&lang=P&base=legis
e nâo precisa de login e nem codigo de seguranca/anti-roboe etc
Creio não ser nada muito diferente e nem complicado em relação ao que ja
desenvolveu mas to com di culdade de adpatar, poderia me dar alguma luz
com algo parecido que já tenha feito?
Bom dia,
Não está abrindo o seu link aqui, pode enviar novamente por
favor? Obrigado pelo seu comentário e contribuição.
Bom dia,
Eu estava com um trabalho acumulado, por isso que não havia
sido postado, desculpe. Obrigado pelo seu comentário e
colaboração.
Comentário
http://www.guiadoexcel.com.br/preencher-formulario-da-web-via-codigo-vba-excel/ 11/12
17/12/2017 Preencher formulário da web via código VBA Excel
Publicar comentário
http://www.guiadoexcel.com.br/preencher-formulario-da-web-via-codigo-vba-excel/ 12/12