Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Importar página html em diversas colunas

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Baldocchi
Colaborador
Colaborador
Mensagens: 15
Registrado em: Qua Ago 09, 2017 8:38 am

Importar página html em diversas colunas

Mensagem por Baldocchi »

Bom dia a todos. Peguei e adaptei um código que importa uma página da web para o Excel.

O problema é que esse código importa os dados para a mesma célula e substitui os acentos por ponto-e-vírgula.

Eu preciso de ajuda para importar os dados de uma página da web (com tabelas) para diversas colunas.

Agradeço a ajuda.

Sub HTML_Table_To_Excel()
Dim htm As Object
Dim Tr As Object
Dim Td As Object
Dim Tab1 As Object

'Página a ser baixada
Web_URL = VBA.Trim(Sheets(1).Cells(1, 1))

'Cria o objeto HTMLFile
Set HTML_Content = CreateObject("htmlfile")

'Atribui a página da web ao objeto HTMLFile
With CreateObject("msxml2.xmlhttp")
.Open "GET", Web_URL, False
.send
HTML_Content.Body.Innerhtml = .responseText
End With

Column_Num_To_Start = 1
iRow = 2
iCol = Column_Num_To_Start
iTable = 0

'Loop na(s) Tabela(s) e importa para o Excel (";" é o separador padrão)
For Each Tab1 In HTML_Content.getElementsByTagName("table")
With HTML_Content.getElementsByTagName("table")(iTable)
For Each Tr In .Rows
For Each Td In Tr.Cells
Sheets(1).Cells(iRow, iCol).Select
Sheets(1).Cells(iRow, iCol) = Td.innerText
iCol = iCol + 1
Next Td
iCol = Column_Num_To_Start
iRow = iRow + 1
Next Tr
End With
iTable = iTable + 1
iCol = Column_Num_To_Start
iRow = iRow + 1
Next Tab1

MsgBox "Processo Completado"
End Sub


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder