我在Excel中使用VBA工具,当我尝试通过VBA保存工具时,如果没有其他工作簿打开,该工具将在10秒内保存。即使打开其他工作簿,宏也应该在10秒内保存。
如果其他工作簿处于打开状态,则保存工具需要10分钟以上,但此工具/代码未与任何打开的工作簿链接。当我尝试通过VBA保存此工具时,我认为它正在计算其他工作簿中的所有公式,然后保存此工具。
我经常使用此工具,每次使用此工具时,我都不想关闭所有其他工作簿。
是否可以解决此问题?
答案 0 :(得分:2)
如果计算导致延迟,则应确认
将其放入ThisWorkbook模块
Option Explicit
Private Sub Workbook_Open()
enableCalcs True
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
enableCalcs False
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
enableCalcs False
End Sub
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
enableCalcs
End Sub
Private Sub enableCalcs(Optional ByVal opt As Boolean = True)
Dim wb As Workbook, ws As Worksheet
Application.Calculation = IIf(opt, xlCalculationAutomatic, xlCalculationManual)
For Each wb In Workbooks
For Each ws In Worksheets
ws.EnableCalculation = opt
Next
Next
End Sub