我正在运行以下Sub,它位于其他两个潜艇中:
Sub SalvaDadosLogin()
1: ThisWorkbook.Worksheets("Registro").range("a11") = loginComdinheiro
2: ThisWorkbook.Worksheets("Registro").range("a12") = senhaComdinheiro
3: ThisWorkbook.Worksheets("Registro").range("a14") = salvaSenhaComdinheio
4: ThisWorkbook.Save
End Sub
有时当我运行此子程序时,我的VBE开始执行用户定义的函数(在运行第1行之后)。其他时候它没有,并且该子的其他行被执行。由于测试条件没有改变,我不知道是什么导致了这种情况。
为什么我的工作表会在第1行后重新计算?
答案 0 :(得分:0)
如果没有进一步的信息,您似乎正在更改工作表,这会触发重新计算。
您可以暂停重新计算并稍后恢复。
let savedCalcMode = Application.Calculation
Application.Calculation = xlCalculationManual
On Error Goto restore
...
restore:
Application.Calculation = savedCalcMode
如果你这样做,尝试恢复错误,否则你将在一个有趣的设置中完成全局计算状态,因此On Error部分。
(仅供参考,当您恢复计算模式时,它会立即重新计算完整的工作表,这意味着您不需要在不需要时进行保存/恢复。)