【问题标题】:VBA QueryTables loops class referenceVBA QueryTables 循环类参考
【发布时间】:2023-03-08 18:15:01
【问题描述】:

我要做的是从可变 URL 中获取数据,同时使用单元格 A1 到 A10 作为 URL QueryTables 上的最后一个文本字符串。

  • 示例
    单元格 A1= B0006SH4PA

  • URL 或 QueryTables 将根据单元格文本进行更改

    myURlocation=B0006SH4PA ' 然后从该 URL 抓取数据,然后循环到下一个单元格

  • 这将继续到单元格 A10,每个单元格都有不同的测试,为每个单元格制作不同的 QueryTable。

这是我目前拥有的代码

Sub URL_Static_Query()
Dim i As Integer
   
   With ActiveSheet.QueryTables.Add(Connection:= _
      "URL;myURlocation=" & Range("a1"), _
         Destination:=Range("a1"))
   
      .BackgroundQuery = True
      .TablesOnlyFromHTML = True
      .Refresh BackgroundQuery:=False
      .SaveData = True
   End With
End Sub

【问题讨论】:

  • 那么你的代码的结果是什么?以及为什么要设置Destination 覆盖A 列中的数据?
  • 它只从一个 URL 中提取数据,我需要它从可变的 URL 中提取数据,循环通过每个单元格 a1 到 a10 作为最后一串文本
  • 你是对的,我的参考将覆盖。抱歉,QueryTables 对我来说很新。

标签: vba excel loops excel-web-query


【解决方案1】:

试试这个,它会从B列开始写入数据。

  Dim i As Long
  For i = 1 To 10
     With Sheet1.QueryTables.Add(Connection:="URL;myURlocation=" & Range("a" & i), _
        Destination:=sheet1.Range("b999999").End(xlUp).Offset(1))

        .BackgroundQuery = True
        .TablesOnlyFromHTML = True
        .Refresh BackgroundQuery:=False
        .SaveData = True
     End With
  Next i

【讨论】:

  • 成功了,非常感谢!我有很多事情要做!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多