Windows 7 Pro、Office Excel 2013、i7 最新一代处理器、8 GB RAM。
我正在从事一个大约 25 MB 的项目,其中有很多索引公式、表格(不是范围)并且一切都是本地的(我使用的信息在同一个文档中)。
但是我只有这张比其他的都慢的工作表(计算选项始终处于手动模式),并且在这些工作表中,当我更改特定单元格的数字时,它会冻结大约 40 秒(仅当我更改数据时,而不是计算时),而且这个单元格的数据只在不同工作表中的文档的 4 个单元格中使用。
我不知道发生了什么,因为我处于手动模式,使用公式。此外,当我尝试在同一张表中添加新行时,它也卡住了。
我最近也遇到了同样的问题,我通过将所有工作复制粘贴到新的 Excel 工作簿中解决了这个问题。但两周后它又出现了。
我也没有任何宏或条件格式,文档在我的计算机上(而不是网络上)。
具体来说:当我更改数据 1 次时,它会冻结,此后如果我不再次计算工作表,我可以自由更改数据而不会出现问题。但是当我再次计算然后再次更改单元格的数据时,它会冻结。
答案1
拥有太多索引/匹配确实会减慢工作表的速度,尤其如果数据量很大。我假设您的数据是表格格式,而不是到处都是随机公式。
假设您有一个位于 A1:A1000 范围内的索引/匹配项。保留 A1 作为公式,但取 A2:A1000 并复制/粘贴为值。这将保留一个公式,以防您需要再次运行它,但会大大加快工作表的速度。
另外,检查您是否有易失性函数这也可能减慢其速度。
Worksheet_Change
最后,您的表单中是否有任何类型的事件?这也可能导致尺寸增大/速度变慢。
答案2
我遇到了这个问题,发现罪魁祸首是我新的条件格式规则。它们有循环引用。删除后,一切都开始正常工作。感谢 Aganju 的提示。管理条件规则时,请确保从下拉列表中选择“显示格式规则”中的“此工作表”。否则您看不到所有规则。