【发布时间】:2017-02-18 08:27:08
【问题描述】:
我使用 Power Query 在 Excel 2016 中创建了一个工作簿。我正在使用代码来更改查询。但我也希望能够在 Excel 2013 中运行它。如何修改我的代码以访问查询?
这是我的代码在 Excel 2016 中有效,但在 2013 或更早版本中无效。
Sub UpdateQuery()
Dim CmdText As String
'Compile error here "User Defined Type not defined"
Dim qry As WorkbookQuery
'Compile error here "Method or data member not found"
Set qry = ThisWorkbook.Queries("CurrentQuery")
CmdText = qry.Formula
CmdText = ... make a change
qry.Formula = CmdText
End Sub
此代码在 Excel 2013 中运行良好,但没有得到我想要的。
Sub UpdateQuery2013()
Dim cmdText As String
Dim lo As ListObject
Set lo = ws.ListObjects("CurrentTable")
CmdText = lo.QueryTable.CommandText
CmdText = ... make a change
lo.QueryTable.CommandText = cmdText
End Sub
以上返回: 命令文本:SELECT * FROM [QueryCurrent]
连接字符串:Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=QueryCurrent;Extended Properties=""
命令类型:SQL
我真正想要的是修改 QueryCurrent。我该怎么做?
【问题讨论】:
标签: excel powerquery vba