我正在使用宏为公司中的不同利益相关者创建个人报告。问题是宏保存的文件大于父文件。 请注意:
下面是对宏完成的步骤的概述。
根据下面评论中的讨论,我将宏粘贴到下面。全部替换功能用于删除任何类型的敏感信息,有时结果可能很奇怪,但绝对足以发现问题。
我很确定是由宏引起的:如果我复制由宏执行的步骤,则文件的大小要小得多(5-15 Mo与50-60 Mo)。
此外,地区报告的大小是正常的。国家和地区文件大于其主文件,伙伴文件也太大。
编辑: 经过大量检查,我发现了答案的开始,这似乎与刷新数据透视表的方式有关。我的代码是这样的:
ActiveWorkbook.RefreshAll
For Each pc In ActiveWorkbook.PivotCaches
pc.Refresh
Next pc
现在,在刷新数据透视表缓存之前,我已删除了“全部刷新”并为每个分区和国家(地区)文件节省了约20Mo。这仍然不能完全令人满意,因为分部和国家(地区)档案的大小仍与其父档案相同或更大,但是这些报告需要在今天发布。
我会继续寻找,但一定会在下个月之前向您发布完整的决议!
答案 0 :(得分:1)
进行快速测试,它可能与文件中的数据损坏有关。
我仅在“仅值”或“ TestSize1”工作簿上看到文件大小的小幅增加。我确实相信除非您的案例损坏了工作簿中的数据,否则您不会看到大小增加。此文件类型仅允许额外保存功能,例如宏/ VBA代码。
我将研究仅将数据值复制到新工作簿中,然后将其另存为.xlsb
。它应该减小大小(显然),但是它也删除了擅长读取或损坏的功能。之后,在重新启动的excel窗口中打开.xlsb
(可能还要重新启动计算机以清除缓存),然后尝试将其保存为所需的任何格式。添加功能和格式以恢复文档。
这对我来说是断断续续的,可以恢复大的.csv
文件。我希望它对您有用。