📜  vba excel 在保存前不重新计算 - VBA (1)

📅  最后修改于: 2023-12-03 15:35:34.325000             🧑  作者: Mango

VBA Excel 在保存前不重新计算 - VBA

在使用VBA编写Excel程序时,有时候我们不希望在保存文件时重新计算Excel中的公式和函数,因为这可能会浪费时间和计算资源。下面是一个简单的VBA示例代码,可以用来禁用Excel在保存前的重新计算功能。

示例代码
Sub DisableCalculationOnSave()
    Application.Calculation = xlCalculationManual
    ActiveWorkbook.Save
    Application.Calculation = xlCalculationAutomatic
End Sub

这段代码使用了Application对象的Calculation方法,并将其设置为手动模式(xlCalculationManual)。然后,代码保存活动工作簿,最后将Application对象的Calculation方法设置为自动模式(xlCalculationAutomatic)。

使用该代码时,可以将其加入到Excel文件的事件中,在文件保存时自动执行该程序。

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Application.ScreenUpdating = False
    Call DisableCalculationOnSave
    Application.ScreenUpdating = True
    Cancel = True
End Sub

这段代码将DisableCalculationOnSave程序嵌入到BeforeSave事件中,并且在保存文件时停止屏幕更新,等程序执行结束后,重新启用屏幕更新。最后,将Cancel参数设置为True,以防止在保存文件时Excel再次执行其内置的自动计算功能。

结论

通过使用这个VBA代码,我们可以有效地禁用Excel在保存文件时的重新计算功能,节省时间和计算资源。同时,我们还可以通过将它添加到Excel文件的事件中,使它在保存文件时自动执行。