我有一个在PowerQuery中创建的带有大型模型的Excel文件。令人上瘾的是,模型已连接到PowerPivot,这使您可以在文件中使用数据透视。
当依赖文件的另一个版本时,我不想丢失所有创建的自定义数据透视表。当我尝试将一张纸的结构相同(使用相同的模型...)时,问题就出现了。
工作表的副本将重新生成与原始副本相同的另一个模型。
首先,通过在名称末尾添加(n)来复制连接(例如Workbooks(“ filename”)。Connections(“ Query-product (1)< / strong>“))),因为excel在另一个文件中找到了相同的查询名称。
出于相同的原因,重复了PowerQuery中的查询(例如“查询-产品(1)”)。
在Power Pivot中,该模型也被复制。
请遵循我将工作表复制到另一本工作簿时生成的代码:
Sub Macro1()
Sheets("OldSheetName").Select
Workbooks("NewFileName").Connections.Add2 _
"Query - Product (1)", _
"Description", _
"OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=""Product (1)"";Extended Properties=""""" _
, "SELECT * FROM [Product (1)]", 2
'Same Code for the others connections
Sheets("OldSheetName").Copy After:=Workbooks( _
"NEWFileName.xlsm").Sheets(13)
End Sub
我尝试先删除连接,然后复制相同的连接。 这样,我就失去了那些连接处的相关数据透视。
遵循使用的代码:
Sub Macro1()
Sheets("SheetName").Select
Workbooks("OldFileName").Connections("Query - Product").Delete
Workbooks("NewFileName").Connections.Add2 _
"Query - Product", _
"Description", _
"OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=""Product"";Extended Properties=""""" _
, "SELECT * FROM [Product]", 2
'Same Code for the others connections
Sheets("NewSheetName").Copy After:=Workbooks( _
"NEWFileName.xlsm").Sheets(13)
End Sub
有人对解决这个问题有什么建议吗?可以使用VBA代码将新模型链接到现有模型吗?
预先感谢
Federico