在我正在运行的宏中,我最后关闭了最后打开的Excel工作簿。当我运行它时,一切都关闭,除了一个没有电子表格的窗口,只有浅蓝色的背景。我使用了错误的命令还是没有办法关闭所有打开的窗口?
Here是一个询问我确切问题的帖子,但解决方案对我不起作用。
以下是我正在使用的最后两个命令:
'
' Closes Populated JD Form
'
Workbooks(name).Close SaveChanges:=False
'
' Closes Transfer Template
'
Workbooks("Transfer Template.xlsm").Close SaveChanges:=False
提前致谢!!!
答案 0 :(得分:7)
不要关闭显示屏提示,因为它会抑制任何真正的问题。
改为使用
ActiveWorkbook.Saved = True
Application.Quit
这将停止Excel以询问是否保存更改,因为它现在认为已经保存了更改。一个很好的例子是你的个人宏工作簿,我使用了很多,我总是在那里创建或修改代码。如果我关闭警报并且我的个人工作簿发生了变化,我就会失去它们。
尽量不要在可能的情况下批量修复可能的情况。另一个例子是错误,有一个错误捕获例程并根据需要处理它,而不是接下来的错误恢复的一揽子声明。
答案 1 :(得分:1)
要确保问题不会得到解答,请同时使用这两项建议
(归功于@DeanOC和@ user1274820)
'Closes Populated JD Form
Workbooks(Name).Close SaveChanges:=False
'Closes Transfer Template
Workbooks("Transfer Template.xlsm").Close SaveChanges:=False
With Application
.DisplayAlerts = False
.Quit
End With
答案 2 :(得分:0)
一旦我从参考文献中删除了 atpvbaen.xls ,application.quit就会像广告中那样工作。
我一直在扯头发-直到意识到我已经将atpvbaen.xls设置为参考-这才是另一个excel线程。我不需要此应用程序,因此我将其禁用。在VB编辑器中,如果我需要Tools => References un-check atpvbaen.xls.
,则可以有意识地将其关闭。