其他工作簿打开时,macros运行速度非常慢
我在Excel中使用VBA工具,当我尝试通过VBA保存工具时,在没有其他工作簿打开的情况下,该工具将在10秒内保存。 即使打开其他工作簿,macros应在10秒内保存。
如果其他工作簿已打开,则保存工具需要10分钟以上的时间,但此工具/代码未与任何打开的工作簿链接。 当我尝试通过VBA保存此工具时,我认为它正在计算其他工作簿中的所有公式,然后保存此工具。
我经常使用这个工具,我不想每次使用这个工具时closures所有其他工作簿。
有没有可能解决这个问题?
如果计算导致延迟这应该证实它
将其放置在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