如何使用单元格值从网络获取数据来组装要提取的 URL?
如何使用单元格引用来组装 Excel 可用于从 Web 获取数据的 URL?基本上,我尝试使用单元格值来组装带有查询字符串的完整 URL,以将查询结果返回到另一个单元格。
我有一张工作表,其中一列是 API URL,下一列是查询字符串。我想取单元格 $B$2(URL)和单元格 $C$2(查询字符串)来获取 =$B$2&$C$2 中的 URL 结果
大多数结果只是一个数字值,不需要解释,而其他结果类似于 JSON 结果,必须导航/烧录到正确的位置才能获得所需的结果。
如果我本地提供 URL,那么在 Excel 中从 Web 获取数据可以很好地完成这项工作...但是..问题是尝试在 Excel 中使用该功能,但只是让它从单元格引用中组装 URL,而不是在从 Web 表单中本地输入 URL。
有什么想法吗?谢谢
编辑:
我联系了一位教过 Excel 的老教授,他说他不确定,但建议可以选择 VBA 脚本。
答案1
据我所知,您必须为每一行创建一个查询表,因为每行的数据 URL 都是不同的/唯一的。或者,您可以使用单个查询表,并遍历所有行,在每次迭代中更新表的连接 URL,并使用如下所示的 VBA 代码片段将获取的数据检索到相应的行中(免责声明:尚未测试过):
' assuming your data starts at row 2
i = 2
Do While Not IsEmpty(Sheet1.Cells(i, 2))
url = "TEXT;" & Sheet1.Cells(i, 2) & Sheet1.Cells(i, 3)
With Sheet1.QueryTables
If .Count < 1 Then
.Add url, Sheet1.Range("Z1")
Else
.Item(1).Connection = url
.Item(1).Refresh
' assuming column D would hold the results
Sheet1.Cells(i, 4) = Sheet1.Range("Z1")
' do any further manipulations of the fetched Sheet1
End With
i = i + 1
Loop