Excel 工作簿的文件大小每次创建新数据透视表 table 并保存文件时都会增加
File size of an Excel Workbook increases every time I create a new pivot table and save the file
我有一个 vba 宏,它根据输入 sheet 中的一些数据创建一个枢轴 table。每次宏运行时,都会删除旧数据透视并创建新数据透视。
我面临的问题是,每次我在 运行 宏之后保存文件时,文件大小都会增加大约 14MB。
这就是我删除旧数据透视表的方式 table:
For Each pivot In reportSht.PivotTables
pivot.TableRange2.Clear
Next pivot
我的理论是枢轴的某些部分没有被删除,但我似乎无法指出是什么。
我找到了解决问题的方法。当我创建枢轴 tables 时,我还添加了连接,因为我需要在枢轴 table:
中显示唯一条目的数量
ActiveWorkbook.Connections.Add2 "WorksheetConnection_" & inputDataArea, "", _
"WORKSHEET;" & ActiveWorkbook.Path & "\[" & ActiveWorkbook.name & "]" _
& inputSht.name, inputDataArea, 7, True, False
其中 inputDataArea
是一个字符串,其范围用于主元 table。我的问题是,当我删除枢轴 table 时,我没有删除这些连接。因此每次执行宏时都会添加一个新连接。
我添加这段代码也是为了删除删除枢轴后不再需要的任何连接 table:
Dim connection As Object
For Each connection In ActiveWorkbook.Connections
If connection.name <> "ThisWorkbookDataModel" Then connection.Delete
Next connection
该文件仍然很大但易于管理,最重要的是它不再增长了。
感谢 Pᴇʜ 建议我删除数据透视缓存并指出,这些缓存与连接一起被删除。
我有一个 vba 宏,它根据输入 sheet 中的一些数据创建一个枢轴 table。每次宏运行时,都会删除旧数据透视并创建新数据透视。
我面临的问题是,每次我在 运行 宏之后保存文件时,文件大小都会增加大约 14MB。
这就是我删除旧数据透视表的方式 table:
For Each pivot In reportSht.PivotTables
pivot.TableRange2.Clear
Next pivot
我的理论是枢轴的某些部分没有被删除,但我似乎无法指出是什么。
我找到了解决问题的方法。当我创建枢轴 tables 时,我还添加了连接,因为我需要在枢轴 table:
中显示唯一条目的数量ActiveWorkbook.Connections.Add2 "WorksheetConnection_" & inputDataArea, "", _
"WORKSHEET;" & ActiveWorkbook.Path & "\[" & ActiveWorkbook.name & "]" _
& inputSht.name, inputDataArea, 7, True, False
其中 inputDataArea
是一个字符串,其范围用于主元 table。我的问题是,当我删除枢轴 table 时,我没有删除这些连接。因此每次执行宏时都会添加一个新连接。
我添加这段代码也是为了删除删除枢轴后不再需要的任何连接 table:
Dim connection As Object
For Each connection In ActiveWorkbook.Connections
If connection.name <> "ThisWorkbookDataModel" Then connection.Delete
Next connection
该文件仍然很大但易于管理,最重要的是它不再增长了。
感谢 Pᴇʜ 建议我删除数据透视缓存并指出,这些缓存与连接一起被删除。