Power Query生成的.xlsx文件引发Excel内存泄漏问题求助
Excel VBA与Power Query文件交互引发内存泄漏问题
问题背景与现象
- 编写的VBA宏用于批量合并文件:遍历指定目录下所有.xlsx文件,将文件内工作表复制到当前工作簿后关闭原文件
- 处理普通.xlsx、.csv文件时运行正常,但处理包含Power Query的.xlsx文件时,Excel内存占用飙升至4GB并持续增长,存在明显内存泄漏
- 定位到泄漏触发代码:
Sheet.Copy After:=ThisWorkbook.Sheets(1) - 手动操作复现:直接复制该Power Query文件的数据到其他Excel文件也会出现内存暴涨;鼠标悬停Power Query的「Values」可正常预览数据,但悬停其他功能选项时,内存占用瞬间飙升至近8GB
涉事VBA代码
Option Explicit Sub Combine_Zoho_Gusto() Dim Path As String Dim Filename As String Dim Sheet As Worksheet Path = "C:\Users\XXXX\Desktop\Payroll Analysis" & "\" Filename = Dir(Path & "*.xlsx") Do While Filename <> "" Workbooks.Open Filename:=Path & Filename, ReadOnly:=True For Each Sheet In ActiveWorkbook.Sheets Sheet.Copy After:=ThisWorkbook.Sheets(1) Next Sheet Workbooks(Filename).Close Filename = Dir() Loop End Sub
补充说明
涉事.xlsx文件通过Power Query连接到包含.csv文件的文件夹,Power Query会筛选整理数据为带表头的两列,结果显示在唯一的Sheet1中。
复制粘贴对话框:
内容的提问来源于stack exchange,提问作者Cloax
相关产品推荐
相关产品推荐

