【问题标题】:Create dynamic url using value from cell使用单元格中的值创建动态 url
【发布时间】:2013-09-02 17:07:48
【问题描述】:

我正在为 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

【问题讨论】:

  • 让标题更清晰

标签: url excel excel-web-query vba


【解决方案1】:

这将获取 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-09
    • 1970-01-01
    相关资源
    最近更新 更多