我有一个相对较大(7MB)但更重要的公式和宏重excel文件,我最近一直在开发。 对于最终用户,它必须能够在自动计算模式下使用。
使用F9(立即计算)在手动计算模式下计算整张纸时,将在~10秒内工作并计算,但当我将其转为自动模式时,它将重复计算(即到达100%,然后立即从0%立即开始),因此无限期冻结。
到目前为止,我已经尝试过:
但两项工作都没有让我怀疑这个问题与VBA事实上是否相关。
有没有人对此有任何想法:
如果有帮助,很乐意提供更多背景信息。我是一个相对有经验的excel用户,虽然一般不从头开始编写VBA宏,但我非常有信心重新编写代码,我继承/在线查找。我正在使用一台相对强大的6核机器,但已经在其他机器上测试过相同的结果。
答案 0 :(得分:0)
该问题原来是一个宏触发的动荡行为。我有一个通过隐藏空行循环的宏,但隐藏行是易失性的,因此在下一次循环运行之前触发一个新的计算。循环本身是500次迭代,这意味着500套3秒计算!
有关易变行为的更多信息,请参阅此链接:
https://msdn.microsoft.com/en-us/library/bb687891(v=office.15).aspx