Я пытаюсь динамически импортировать данные из нескольких разных URL-адресов из списка на другом листе.Код, вставленный ниже, работает, чтобы импортировать один, но должен пройти через несколько разных URL.
- Все вновь созданные таблицы (которые связаны с разными URL-адресами, должны создаваться на одном и том же листе последовательно один за другим.
У любого есть идеи, как это сделатьчто? Или, может быть, более легкая или лучшая идея о том, как я могу это сделать?
Миллион Спасибо и всего наилучшего
Sub test()
'
'
ActiveWorkbook.Queries.Add Name:="Table 2", Formula:= _
"let" & Chr(13) & "" & Chr(10) & " Source = Web.Page(Web.Contents(""https://finviz.com/screener.ashx?f=sec_basicmaterials&v=121""))," & Chr(13) & "" & Chr(10) & " Data2 = Source{2}[Data]," & Chr(13) & "" & Chr(10) & " #""Promoted Headers"" = Table.PromoteHeaders(Data2, [PromoteAllScalars=true])," & Chr(13) & "" & Chr(10) & " #""Changed Type"" = Table.TransformColumnTypes(#""Promoted Headers"",{{""No."", Int64.Type}, {""Ticker"", type text}, {""Market Cap"", type te" & _
"xt}, {""P/E"", type text}, {""Fwd P/E"", type text}, {""PEG"", type text}, {""P/S"", type text}, {""P/B"", type text}, {""P/C"", type text}, {""P/FCF"", type text}, {""EPS this Y"", type text}, {""EPS next Y"", type text}, {""EPS past 5Y"", type text}, {""EPS next 5Y"", type text}, {""Sales past 5Y"", type text}, {""Price"", type number}, {""Change"", Percentage.Typ" & _
"e}, {""Volume"", type text}})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & " #""Changed Type"""
ActiveWorkbook.Worksheets.Add
ActiveSheet.Range("a10").Select
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
"OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=""Table 2"";Extended Properties=""""" _
, Destination:=Range("$A$1")).QueryTable
.CommandType = xlCmdSql
.CommandText = Array("SELECT * FROM [Table 2]")
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.ListObject.DisplayName = "Table_2"
.Refresh BackgroundQuery:=False
End With
End Sub