Power Query是个强大的功能,PQ的M公式显得有些复杂,为了避免文件可能出现的意外损坏,经常备份PQ的公式是个不错的方法,本文介绍几种备份方法。
方法1:高级编辑器拷贝M公式
在【Power Query编辑器】中依次单击【主页】->【高级编辑器】,在【高级编辑器】对话框中选中并拷贝全部公式,打开文本编辑器粘贴并保存文件就可以了。
如果PQ中有很多查询,那么需要逐个打开每个查询,拷贝PQ公式,这样操作起来还是很费时的。
方法2:VBA备份M公式
示例代码如下。
Sub BackupPQ_M()
Dim qry As WorkbookQuery
Dim strFile As String
With ThisWorkbook
strFile = .Path & Application.PathSeparator & Replace(.Name, ".xlsm", ".m")
Open strFile For Output As #1
For Each qry In ThisWorkbook.Queries
Print #1, "** " & qry.Name & " **"
Print #1, qry.Formula
Print #1, "----------------------"
Next
End With
Close #1
MsgBox "Export PQ formula to " & strFile, , "DONE"
End Sub
【代码解析】
第5行代码生成M公式的文件名,保存在和Excel文件所在的目录中。
第6行代码打开文本文件,如果文件不存在,则会创建文件。
第7~11行代码循环遍历工作簿中的全部查询。
第8行代码将查询的名称写入文本文件中。
第9行代码将查询的M公式写入文本文件中。
第10行代码将分隔行写入文本文件中。
第13行代码关闭文本文件。
第14行代码显示提示信息。
备份文件如下图所示。
VBA备份方法的优势在于,无需打开【Power Query编辑器】,就可以直接实现备份。
方法3:超级快速备份法
多数Excel用户可能并不熟悉VBA代码的使用方法,其实在Power Query编辑器中可以非常简单的操作就可以实现快速备份。.
打开【Power Query编辑器】,展开左侧的【查询】窗格,单击第一个查询,保持Shift键按下,单击最后一个查询,选中全部查询,按<Ctrl+C>组合键拷贝全部M公式。
打开文本编辑器,粘贴文本就可以获得全部查询的M公式。