我在关闭宏中的工作簿时遇到一些问题。我想通过以下方式加快我的宏:
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 (如果需要(