我有一大堆excel文件,它们几乎像一个程序一样工作,它们可以在多台计算机上运行(使用不同版本的Windows),最近我有 坏 问题,当用户按下 我的关闭按钮 (实际上是与宏关联的图片)时,代码调用:
ThisWorkbook.Close savechanges:=True
它使4台支持的计算机中有2台处于EXCEL状态(Windows XP = OK,Windows 10 = OK 1 BAD OTHER,Windows 8 = BAD)。
我已将此事件与此特定代码行隔离(仅使用关闭按钮制作1张excel文件,但仍然崩溃) 我注意到如果excel文件不是唯一打开的文件,有时它不会崩溃(可能问题在于关闭excel本身)
我所做的是将这两个陈述分开,所以如果(当)它崩溃了它已经保存过:
ThisWorkbook.Save
ThisWorkbook.Close
有人可以点灯吗?我真的输了。我尝试了所有可以考虑的替代方案(activeworkbook ......)
Tl;博士: " ThisWorkbook.Close" 导致excel崩溃
答案 0 :(得分:8)
这是Microsoft Excel中的标准错误。不确定Microsoft是否有任何修复。但是,有一些解决此问题的解决方法。
当从单击事件触发“关闭”事件但与“选择更改”等其他事件一起正常工作时,会出现此问题。要解决这个问题,您可以试试这个:
在按钮的点击事件中添加以下代码:
Private Sub CloseButton_Click()
Cancel = True
Application.OnTime Now, "Close_Xls"
End Sub
在标准模块中,添加以下代码
Sub Close_Xls()
ThisWorkbook.Close savechanges:=True
End Sub
它对我有用。如果有帮助请告诉我
答案 1 :(得分:0)
这发生在我身上,因为我的外部链接无法更新。为了解决这个问题,我去了Data-> Edit Links-> Break Link。一旦断开所有这些链接,ActiveWorkbook.Close savechanges:= True正常工作。