2016-12-20 84 views
0

我在Excel中創建的用戶窗體上的無線選項按鈕出現問題。用戶窗體加載時默認爲OptionButton1。如果我切換到OptionButton2,然後切換回OptionButton1,excel將無響應,並在關閉表單時崩潰。如果我只是切換到OptionButton2並關閉表單或根本不切換它們,一切都會好的。它只發生在給定的運行時中多次切換。此外,選項按鈕位於用戶窗體上的框架上,如果有任何區別的話。用戶窗體選項按鈕控件在運行時切換後崩潰Excel

我已經註釋掉所有由附加到控件的事件觸發的代碼,它仍然會發生。另外,在我只切換一次選項的情況下,代碼工作得很好。只需將選項更改爲2並返回1而不執行任何其他代碼,就會崩潰。我在表單上有另一個選項按鈕組,我對該組沒有任何問題。我可以根據需要多次切換它們。

我無法分享我的實際工作簿,並且在示例工作簿中重新創建問題失敗。我不確定我可以提供哪些可以使用的東西。如果有人根據我對問題的描述提出任何建議,將不勝感激。我已經用完了想法。

事情我已經嘗試:

  • 拆卸與對照
  • 更改和設置的選項按鈕
  • 刪除選項按鈕刪除組名和改造他們
  • 相關聯的所有代碼
  • 更改選項按鈕的名稱
  • 複製並粘貼現有的工作選項按鈕並重命名它們

編輯:我能夠保存在我原來的工作簿,並刪除所有工作,除了工作和損壞的選項控制。下面是對樣本的鏈接這是我的實際工作簿的梗概:

Link to workbook example.

即使一切都走了,問題仍然發生。如果打開用戶窗體,可以在「選項A」和「選項B」按鈕之間切換,但如果嘗試在「選項1」和「選項2」之間切換,則在關閉窗體時,Excel將崩潰。

+0

似乎很奇怪。如果你沒有在你的按鈕中調用任何基於excel的東西,只是切換這些按鈕會導致excel崩潰。可能是已損壞,如果您無法重現,只需創建一個新的工作簿並繼續前進, – dgorti

+0

無法打開您的用戶窗體。保持說'系統錯誤&H80004005',然後**內存不足**。 – PatricK

+0

導出所有模塊,然後將工作簿保存爲。xlsx放棄所有宏,重新導入所有模塊,然後另存爲.xlsm並重新編譯。 – Comintern

回答

2

您的用戶表單和/或控件已損壞。根據什麼恩恩建議,而不是完整的出口和娛樂,試試這個:

1.Delete your faulty user form. in this case `Test`.  
2.Save and close Excel.  
3. Go to C:\Users\<<yourusername>>\AppData\Local\Temp\VBE  
4. Here delete all the exd files. 
5. Re-open workbook add new form, name it `Test` and all option buttons. 

所有的工作正常。

請記住,如果您嘗試添加新的用戶表單並將其重命名爲舊的Test而不保存該文件,則會出現錯誤。

https://support.microsoft.com/en-us/kb/244238

+0

無論如何複製或「修復」當前的用戶表單?花了相當多的時間來構建。有很多控制和交互,並希望儘可能避免從頭開始重建。 – SincereApathy

+0

這是行不通的。我能夠通過打開2個excel實例並複製和粘貼工作控件來重建用戶窗體,而只是重建已損壞的窗體。謝謝。 – SincereApathy