Есть ли возможность автоматизировать Power Queries в Excel для моей задачи? - PullRequest
0 голосов
/ 23 января 2020

Я хочу извлечь данные о ценах инвестиционных фондов с веб-сайта на несколько листов Excel. Поэтому я собрал URL-адреса с этого веб-сайта в листе Excel следующим образом: Формат веб-сайта Затем я создал переменную, которая шаг за шагом содержит каждый из URL-адресов в for-l oop. Теперь я записал свой макрос, выполняя Power Query вручную. После выполнения макроса требуемые данные о цене записываются в другой лист Excel ... Проблема в том, что это работает только тогда, когда я вручную набираю URL в коде, потому что макрос не распознает переменную, которая содержит URL в следующем код, но переменная имеет важное значение для моей автоматизации. Код:

Sub Abfrage()


Dim intFonds As Integer
Let intFonds = 16

Dim strFondsname As String
strFondsname = Range("E" & intFonds).Value

For intFonds = 16 To 32
strFondsname = Range("E" & intFonds).Value

'Selection.Copy
'    ActiveWorkbook.Queries.Add Name:="", Formula:= _
'        "let" & Chr(13) & "" & Chr(10) & "    Quelle = Web.Page_
        '(Web.Contents(strFondsname = Range("E" & intFonds).Value))," & Chr(13) & "" & Chr(10) & "    Data1 = Quelle{1}[Data]," & Chr(13) & "" & Chr(10) & "    #""Geänderter Typ"" = Table.TransformColumnTypes(Data1,{{""Datum"", Int64.Type}, {""Eröffnung"", type number}, {""Schluss"", type number}, {""Tageshoch"", type number}, {""Ta" &  "gestief"", type number}, {""Umsatz (St.)"", Int64.Type}})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & "    #""Geänderter Typ"""
'    ActiveWorkbook.Worksheets.Add
'    With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
'        "OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=Document;Extended Properties=""""" _
'        , Destination:=Range("$A$1")).QueryTable
'        .CommandType = xlCmdSql
'        .CommandText = Array("SELECT * FROM [Document]")
'        .RowNumbers = False
'        .FillAdjacentFormulas = False
'        .PreserveFormatting = True
'        .RefreshOnFileOpen = False
'        .BackgroundQuery = True
'        .RefreshStyle = xlInsertDeleteCells
'        .SavePassword = False
'        .SaveData = True
'        .AdjustColumnWidth = True
'        .RefreshPeriod = 0
'        .PreserveColumnInfo = True
'        .ListObject.DisplayName = "Document2"
'        .Refresh BackgroundQuery:=False
'    End With
'    Sheets("Namen").Select
'    ActiveCell.Offset(1, 0).Select
'    Application.Wait (Now + TimeValue("0:01:00"))
    Next intFonds



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