Excel VBA 快速访问 Power Query 表格数据

1、PowerQuery 可以方便获取外部数据,并进行数据清洗,最后将结果返回到工作表中。每次刷新数据后,工作表中返回的数据的行数不是固定的。

2、在VBA中如何方便地访问PowerQuery返回的表格数据呢?可以参照下面的例子。

Option Explicit
Function PowerQueryTableData(row As Long, col As Long) As Variant

Dim TargetTable     As ListObject
Dim R               As ListRow
Set TargetTable = ActiveSheet.ListObjects("腾讯国内新冠疫情风险地区")
PowerQueryTableData = TargetTable.ListRows.Item(row).Range.Cells(1, col)

End Function

 运行结果如图:

3、遍历行语句:

Option Explicit
Function PowerQueryTableData(col As Long) As Variant

Dim TargetTable     As ListObject
Dim R               As ListRow
Set TargetTable = ActiveSheet.ListObjects("腾讯国内新冠疫情风险地区")
For Each R In TargetTable.ListRows
   Debug.Print R.Range.Cells(1, col)
Next

End Function

 运行结果:

4、遍历列

Option Explicit
Sub PowerQueryTableData()
Dim TargetTable     As ListObject
Dim C               As ListColumn
Set TargetTable = ActiveSheet.ListObjects("腾讯国内新冠疫情风险地区")
For Each C In TargetTable.ListColumns
   Debug.Print C.Range.Address & "=" & C.Name
Next

End Sub

 运行结果:

以上

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Synapse是一个云数据仓库,提供了REST API和SDK供开发者使用。你可以使用VBA调用Synapse的API,将数据写入Synapse。 以下是一个使用VBA数据写入Synapse的简单示例代码: ```vb Sub WriteToSynapse() Dim objHTTP As New WinHttp.WinHttpRequest Dim strURL As String Dim strRequestBody As String Dim strResponse As String Dim strToken As String ' 设置Synapse API的URL和身份验证Token strURL = "https://<synapse-account-name>.synapse.azure.cn/workspaces/<workspace-name>/notebook/sql/submit" strToken = "<synapse-access-token>" ' 设置请求体,这里以插入一条数据为例 strRequestBody = "{""kind"":""sql#query"",""query"":""INSERT INTO <table-name> VALUES ('value1', 'value2', 'value3')"",""globalParameters"":{}}" ' 发送POST请求到Synapse API objHTTP.Open "POST", strURL, False objHTTP.SetRequestHeader "Content-Type", "application/json" objHTTP.SetRequestHeader "Authorization", "Bearer " & strToken objHTTP.Send (strRequestBody) ' 获取Synapse API的响应 strResponse = objHTTP.ResponseText ' 处理Synapse API的响应 If objHTTP.Status = 200 Then MsgBox "数据已成功写入Synapse!" Else MsgBox "写入数据到Synapse失败: " & strResponse End If End Sub ``` 请注意,上述代码中的 `<synapse-account-name>`、`<workspace-name>`、`<synapse-access-token>` 和 `<table-name>` 都需要替换为你自己的值。此外,你需要确保已经正确地设置了Synapse的安全性和身份验证设置,以便VBA可以成功地发送请求和获取响应。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雕技小虫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值