2016-12-20 32 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