none
Excel - importar página html em diversas colunas RRS feed

  • Pergunta

  • 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

    quinta-feira, 21 de novembro de 2019 13:49