Página 1 de 1

Importar página html em diversas colunas

Enviado: Qui Nov 21, 2019 11:04 am
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