【发布时间】:2014-09-05 13:42:50
【问题描述】:
Private Sub Worksheet_Activate()
If Worksheets("Input").Range("S5").Value = "Yes" Then
MsgBox "Please make sure you've completed the historical deductible amounts for EL"
End If
Worksheets("Input").Calculate
Worksheets("EL").Calculate
Worksheets("PPL").Calculate
Worksheets("Auto").Calculate
Worksheets("AL").Calculate
Worksheets("APD").Calculate
Worksheets("Loss Layering").Calculate
Worksheets("Sheet2").Calculate
Worksheets("Premium").Calculate
End Sub
为了加快一个非常大的工作簿的速度,我关闭了自动计算并创建了一个层次结构,当我在工作簿中移动时,我可以在其中计算工作表。我的问题是,对于任何重型公式,例如 sumif 或 sumproduct,这些值不会在我的活动工作表中计算,它们保持为零。我已经尝试过 application.calculate 和 CalculateFull,它们都有效,但我发现它们占用了太多时间。我试图找到一种方法来做到这一点,同时让我的模板尽可能快速、简单和用户友好。有什么建议吗?
【问题讨论】: