vba - Excel VBA 命名和更改 Power Query 的来源
问题描述
我有一张包含 2 个查询的表格,用于查询我用作模板的 2 个不同网页。我需要创建更多具有不同来源和名称的相同 2 个查询的工作表(以便更容易索引)。
但是我不知道如何更改查询参数。到目前为止,我已经完成了所有其他工作。
我使用记录宏开始手动复制模板页面并更改值,但是宏甚至无法正确设置值。它使用了以下查询
ActiveSheet.ListObjects("queryname").Name = "newname"
这根本不起作用。我也环顾四周,找到了成功的人。
.Listobjects("queryname").QueryTables.Name = "newname"
QueryTables.("queryname").Name = "newname"
这是我到目前为止的宏。它所做的只是从选定的单元格中复制当前文本,并在复制模板表后使用它来命名所有内容。
Excel 不会在运行此代码时引发任何错误。它运行整个代码,但不会更改表的名称。
Sub Setup()
Dim item As String
Dim bName As String
Dim sName As String
Dim TbName As String
Dim TsName As String
item = Selection.Value
Sheets("Query Template").Copy Before:=Sheets(6)
Sheets("Query Template (2)").Select
Sheets("Query Template (2)").Name = item
sName = "S_" & Replace(item, " ", "_")
bName = "B_" & Replace(item, " ", "_")
TbName = "BTemplate (2)"
TsName = "STemplate (2)"
'this is where I try to change the query names.
With ActiveWorkbook.Connections("Query - " & TbName)
.Name = "Query - " & bName
End With
With ActiveWorkbook.Connections("Query - " & TsName)
.Name = "Query - " & sName
End With
Sheets(item).Range("A2:D2").Select
ActiveWorkbook.Names.Add Name:="BLink" & Replace(item, " ", "_"),
RefersToR1C1:="='" & item & "'!R2C1"
Sheets(item).Range("F2:I2").Select
ActiveWorkbook.Names.Add Name:="SLink" & Replace(item, " ", "_"),
RefersToR1C1:="='" & item & "'!R2C6"
End Sub
任何帮助,将不胜感激。我所需要的只是能够更改查询的来源和名称。
解决方案
https://gallery.technet.microsoft.com/office/VBA-to-automate-Power-956a52d1
感谢 Chillin 找到此链接。
使用该链接中的一些代码,我设法从模板查询中复制 M 代码以创建新查询并将它们放在工作表上。我让它工作了,但是现在我有很多查询使工作表占用了大量内存(10G RAM),所以我可能必须将每对查询拆分到自己的工作簿中并按顺序更新/保存每个查询。
推荐阅读
- mongodb - MongoDb C# Client: Aggregation by date (range)
- apache - Apache proxy pass is redirecting instead of acting like a real proxy
- javascript - Unbind React Plotly events
- excel - Get first and last number in ID sequence and name of product and display in another worksheet
- node.js - What may I be missing while trying to install npm bootstrap to my project?
- python - 在 for 循环中对 sns.boxplot 和 sns.scatterplot 使用 plt.subplot
- c# - 如何从 C# 中的非公共成员获取值
- flutter - 3 执行flutter Doctor抛出MutexLock异常
- twilio - 如何将 Twilio 自动驾驶仪添加到网络聊天中
- xpath - 开始过滤属性的函数