如何停止在Excel中自动重新计算

在下面的Excel表格中,我想重新计算行1-5的顶部部分。 而我重新计算的意思是,例如单元格M2,H4,S4有today()公式,每次打开它都会重新计算。 我想为它计算一次,一次保存为一旦再次打开时不重新计算。 有什么build议么? 我努力了

Private Sub Workbook_Open() Application.Calculation = xlCalculationManual End Sub 

在这里输入图像说明

那么,在Workbook_Open时设置Application.Calculation = xlCalculationManual并不总能保证你所期望的结果,因为在打开你的文件的时候Excel有可能在xlCalculationAutomatic

所以解决方法是打开Excel并将计算设置为VBE或菜单中的手动,然后打开文件。
在VBE中 ,在即时窗口中input Application.Calculation = xlCalculationManual ,然后按Enter键 ,然后打开文件。
在Excel中 ,对于2007版本,单击Formula Menu ,转到Calculation Group ,在Calculation OptionsselectAutomatic/Manual 。 对于旧版本, Tools > Options > Calculation

我没有发表评论来问一个澄清问题的声望,所以我会发表一个答案,而不是(假设你的答案是什么)。

只要您不希望这些单元格重新计算(并且不介意丢失公式),最简单的解决scheme就是将它们转换为值。

简单的macros来实现这个前5行:

 sub ConvertToValues() Dim rngToValues as Range set rngToValues = YourSheet.UsedRange.Rows("1:5").EntireRow rngToValues.Value = rngToValues.Value end sub 

我会build议在VBA中评估你想要的事件。

如果您希望TODAY函数根据您的请求进行计算,我将创build一个带有重新评估TODAY的macros的button。

我将如何实现这取决于如果你想/需要有一个公式的单元格。 如果足够具有计算的值,则可以使用VBA进行计算,并将值设置为所需的单元格。 如果您想拥有一个公式并保留上次评估的TODAY值,则可以将公式设置为单元格。 Range("M2").Formula = Date() & "other formula part"

最简单的解决scheme是在VBA中的某个单元格中设置今天的值

 Sub Macro1 () Range("A5").Value = Date() End Sub