Excel – 停止计算打开以防止循环引用

我有一个很大的内置循环引用大电子表格。 我已经build立了VBA代码设置为手动和迭代计算打开,也代码强制打开工作簿后,我设置了迭代计算计算。 但是,在开始运行此VBA代码之前,似乎工作簿会尝试计算,因此如果工作簿已设置为自动计算而没有迭代计算,则会运行工作簿,然后由于循环引用而崩溃。

我知道我可以将自己的应用程序设置设置为始终有迭代计算,但是此工作簿与其他人可能没有这些相同的应用程序设置共享。 有没有办法停止打开计算,直到代码将应用程序设置为迭代计算。

谢谢。

在工作簿打开事件的空白.xlsm文件中,放入此代码

Private Sub Workbook_Open() Application.calculation = xlCalculationManual ' Add code to open the real workbook ' --------- End Sub 

由于计算是由上一个打开的工作簿是手动还是自动驱动的,因此上面的代码必须放入一个Caller工作簿(如上所示)。 这个调用者工作簿,打开后,将首先禁用计算,然后拉起你的工作簿,将保证有手动计算模式。

另外,在所需的工作簿(带有循环引用的工作簿)中,OnOpen事件应该会触发closures调用者工作簿而不保存。

这样的过程是透明的用户和他/他只打开来电显示。