有多大?

我有一个60MB的Excel文件,具有所有的“罪”…数组公式,VBA和条件格式。 它一直崩溃,现在被认为是太大了。 大约有20张工作表,其中3个是15MB大小,每个大约有3500万个活动单元。 这是为什么表崩溃?

是的,我也有这个问题。

这是一个汇编我的帽子作品。 其中一些可能是相关的,有些可能不相关。

  1. closures自动计算。 如果你对此感到绝望,那么在完成列表的其余部分时closures它,但是之后再打开

  2. 做一个备份。 每当这个列表上的东西都起作用的时候,就做一个新的备份 Excel没有大脑,一定要用你自己的。

  3. 删除空但不是空的单元格…有时,由于许多原因,Excel发现有必要跟踪所有可能的行和列。 我通过重新创build任何图表,通过复制新图纸上需要的特定区域来解决这个问题,然后删除旧图表并重命名新图表以匹配。 search/replace将修复公式,如果他们得到buggered。 您也可以标记行/列,右键单击 – >删除行/列,但这可能会导致总冻结,所以我更喜欢前一种方法。

  4. 摆脱数组公式。 严重的是,他们可以在90%以上的时间内被更聪明的sumproduct,sumifs或者index(match())公式或者通过添加列或者分两步来完成。 他们是资源。 来自不同年龄的剩饭。 我接受arrays的唯一时间是当我知道我已经用尽了所有的可能性。

  5. 非常重要的是,将这些文件保存为x64格式的文件(.xlsb) 。 不要使用“兼容性”格式(.xlsx)和上帝之爱,不要使用普通的.xls

  6. 将所有graphics移动到单独的工作表,更好的是分离文件。 通过vba镜像结果数据,复制粘贴,无论分开文件,并有你的条件格式,图像,graphics,进度条,甘特图,无论那里。

我希望发布这个不是不合适的。 经过一些拖延,也许是一些怀疑,我replace了我的工作表中的所有数组公式。 有大约1,500,000细胞受到arrays配方的影响,我不喜欢重做这个想法。 但什么是不可思议的差异! 现在工作表运行得更快,更好,非常可靠! 我永远不会再使用数组公式。 谢谢!!