我正在运行Excel工作表的Web查询,并且能够正确地提取数据但是我想引用可以在工作表中更改的单元格。
实施例。我想让F引用一个单元格,这样我就可以轻松地更改请求而无需更改代码。我一直在尝试使用范围功能。
Sub URL_Get_Query()
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://finance.yahoo.com/q/is?s=F+Income+Statement&annual", _
Destination:=Range("a1"))
.BackgroundQuery = True
.TablesOnlyFromHTML = True
.Refresh BackgroundQuery:=False
.SaveData = True
End With
End Sub
答案 0 :(得分:2)
这将采用Sheet1的单元格A1中的任何符号,并在查询中使用它。结果将写入Sheet2上的单元格A1。如果需要,您可以修改它以使用不同的范围并写入不同的工作表。
Sub UseDynamicURL()
Dim wb As Workbook
Dim src As Worksheet
Dim tgt As Worksheet
Set wb = ThisWorkbook
Set src = wb.Sheets("Sheet1")
Set tgt = wb.Sheets("Sheet2")
Dim url As String
Dim symbol As String
symbol = src.Range("A1")
url = "URL;http://finance.yahoo.com/q/is?s="
url = url & symbol & "+Income+Statement&annual"
With tgt.QueryTables.Add(Connection:= _
url, _
Destination:=tgt.Range("A1"))
.BackgroundQuery = True
.TablesOnlyFromHTML = True
.Refresh BackgroundQuery:=False
.SaveData = True
End With
End Sub