屏幕更新不允许关闭工作簿



我在关闭宏中的工作簿时遇到一些问题。我想通过以下方式加快我的宏:

Application.ScreenUpdating = False
'my code
Application.ScreenUpdating = True

但是当它完成时,突然间我一直使用的所有工作簿一起打开。我想关闭它们,所以我添加了 * 工作簿.关闭 * 行。不幸的是,当VBA到达此代码行时出现错误。这是因为 excel"看不到"我的工作簿。当我关闭错误窗口并尝试再次运行闭合行时,一切正常,因为工作簿有足够的时间打开。可能 excel 需要一些时间来更新和打开所有工作簿,所以我应该推迟我的代码。我已经尝试了* Application.Wait *和* Do Until 循环*,但它不起作用。我也尝试在屏幕更新之前关闭这些工作簿,但 excel 只是忽略了这些行。

我最后的代码行:

Application.ScreenUpdating = True
Application.DisplayAlerts = False
Workbooks(wb_1).Close
Workbooks(wb_2).Close
Application.DisplayAlerts = True

提前感谢您的帮助!

正如达米安所说, 尝试添加:

Workbooks(wb_1).Close savechanges:=false
Workbooks(wb_2).Close savechanges:=false

或 true (如果需要(

最新更新