我已经在VBA中编写了中小型宏两年,以提高组织内的效率。 Excel 2010,将工作簿保存为.xlsm。
进入我当前的项目3天后,我开始收到一个未指定的错误,然后是一个灾难性的错误。我无法保存,除了关闭窗口我什么也做不了,当弹出大约5-15个灾难性错误时,文件没有保存,我必须拿起我上次保存或自动保存的地方。发生之后一次,它每5-30分钟发生一次,直到我恢复到较旧的保存。然后我再开始发生几天。这很荒谬,因为这个项目应该花费大约1/3的时间,因为这个错误。我现在只发帖,因为我不能为我的生活弄清楚为什么会发生这种错误。我之前构建了更大的程序,表现得非常相似,但这个程序一直在崩溃。
与我常用的技术有些不同,我注意到并试图利用这些技巧来确定问题:
- 我正在从函数中引用工作簿的名称,这样如果有人从另一个工作表中运行此宏,它将始终在正确的工作表中工作
- 我正在使用指向excel工作表中定义的表的多选列表框。这些表经常使用OLEDB连接刷新,然后通过.rowsource属性重置列表框。
- 我使用不同的帧来显示/隐藏一组控件,所有控件都重叠在同一个表单上(在我做过的其他宏中,不同的表单存在不同的功能)
我不知道这些东西是否/如何导致未指定/灾难性的错误。我很乐意发布一些代码,但我不知道从哪里开始。有很多。
还有一件事,它似乎挂起了“无法设置RowSource属性。未指定的错误”,代码为-2147467259,然后在发生一次之后开始崩溃。在设置RowSource属性时,我没有做任何特别不同的事情。
非常感谢任何帮助或想法。到目前为止,我搜索了一堆没有用,感觉有点像http://xkcd.com/979/