Как правильно копировать и вставлять информацию (диаграммы, таблицы и т. Д.) С веб-страницы, чтобы преуспеть с помощью VBA - PullRequest
0 голосов
/ 12 июня 2019

У меня есть таблица на веб-странице, которую я пытаюсь скопировать и вставить в Excel, правильно отформатированный. Все это выводится в одном столбце, независимо от того, что я пытаюсь сделать, чтобы это исправить.

Я могу скопировать и вставить его, он просто неправильно отформатирован. пожалуйста, помогите.

 a lot of stuff before this....


 lastrow = ws.Cells(ws.rows.Count, "A").End(xlUp).Row
   ' lastrow = ws.Range("A1").End(xlUp).Row
    i = i + 1

For i = 3 To lastrow
        Set svalue1 = .getElementbyID("provideANumber")
            svalue1.Value = ws.Cells(i, 1).Value

    For Each eInput In .getElementsbyTagName("input")
            If eInput.getAttribute("value") = "ENTERit" Then
                eInput.Click

    Exit For

            End If
Next

             IE.Visible = True
Exit For
Next i

больше вещей между .....

'Копирование и вставка результатов в Excel

    Sheets("Sheet4").Select
    Range("A1:Z50") = ""
    Range("A1:Z150").Select

    Application.Wait DateAdd("s", 10, Now)


    IE.ExecWB 17, 0 '//select all
    IE.ExecWB 12, 2 '//Copy Selection
    ActiveSheet.PasteSpecial Format:="Text", link:=False, displayasicon:=False



    Range("A1:Z100").Select

Я ожидаю, что это будет похоже на то, как это выглядит на веб-сайте, однако, все это отображается вместе в одном столбце (и даже не читается)

1 Ответ

0 голосов
/ 18 июня 2019
    Sheets("Sheet4").Select
    Range("A1:Z100") = ""
    Range("A1:Z100").Select
    Selection.ClearContents
    Application.Wait DateAdd("s", 2, Now) '//Loads



    IE.ExecWB 17, 0 '//select all from webpage
    IE.ExecWB 12, 2 '//Copy Selection



    Application.DisplayAlerts = False  '//Doesnt display alerts
    ActiveSheet.Paste


    Sheets("Sheet4").Select '//Selects sheet 4 again
    Range("A3:Q32").Select
    Selection.Copy

        'Creates a new sheet after & pastes content into it, formats

        Sheets.Add After:=ActiveSheet
        ActiveSheet.Paste
        Selection.Columns.AutoFit
        Selection.rows.AutoFit

Этот код позволил мне скопировать и вставить данные с веб-страницы так, как они отформатированы на веб-странице

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...