excel - 程序流意外行为

excel - 程序流意外行为,第1张

我正在运行以下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行后重新计算?

最佳答案:

1 个答案:

答案 0 :(得分:0)

如果没有进一步的信息,您似乎正在更改工作表,这会触发重新计算。

您可以暂停重新计算并稍后恢复。

let savedCalcMode = Application.Calculation
Application.Calculation = xlCalculationManual
On Error Goto restore
...
restore:
Application.Calculation = savedCalcMode

如果你这样做,尝试恢复错误,否则你将在一个有趣的设置中完成全局计算状态,因此On Error部分。

(仅供参考,当您恢复计算模式时,它会立即重新计算完整的工作表,这意味着您不需要在不需要时进行保存/恢复。)

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复