2016-11-10 117 views
5

我有一個excel文件的大集合,幾乎像一個程序一樣工作,並且它們運行在多臺計算機上(具有不同版本的windows),並且從最近我有這個問題,當用戶按下我的關閉按鈕(其實我有一個宏關聯的圖片),用代碼調用:「ThisWorkbook.Close」導致excel崩潰

ThisWorkbook.Close savechanges:=True 

它使4臺支持電腦crach EXCEL的2 (Windows XP =確定,Windows 10 =確定1壞其他,Windows 8 =壞) 。

enter image description here

我已分離出入射到這個代碼特定的行(由1片excel文件只需關閉按鈕,並且它仍然崩潰) 我注意到,如果Excel文件不是隻有一個開放的,有時它不會崩潰(也許問題與收盤擅長本身)

我所做的是separeted 2條語句,所以如果(當)它崩潰了,它已經保存:

ThisWorkbook.Save 
ThisWorkbook.Close 

任何人都可以點亮一些燈光嗎?我真的迷失了。我嘗試了所有我能想到的關閉方案(activeworkbook ...)

鉈;博士:「ThisWorkbook.Close」導致Excel崩潰

回答

7

這是在Microsoft Excel標準錯誤。不確定微軟是否有任何修復。但是,有解決方法可以解決此問題。

從「點擊」事件觸發「關閉」事件但在「選擇更改」等其他事件時正常工作時會發生此問題。爲了解決這個問題,你可以試試這個:

在按鈕的Click事件添加以下代碼:

Private Sub CloseButton_Click() 
    Cancel = True 
    Application.OnTime Now, "Close_Xls" 
End Sub 

在標準模塊中,添加以下代碼

Sub Close_Xls() 
    ThisWorkbook.Close savechanges:=True 
End Sub 

這個對我有用。讓我知道它是否有幫助