vba - 为什么我的 Excel VBA 代码在关闭表单后仍然运行?

标签 vba excel excel-2007

我正在使用我编写的几个自定义类创建一个相当广泛的 Excel 用户表单。目前事情似乎按预期工作,但有时当我关闭表单时,一个进程似乎仍在后台运行。

我知道这一点是因为在关闭所述表单后,有时 CPU 内核会继续满负荷运行,当我单击电子表格中的一个单元格时,公式栏中显示的值会快速闪烁,就好像电子表格被反复刷新一样。

我尝试在每个类(或至少所有大类)的 Class_Terminate 函数中插入中断和调试语句,它们似乎都可以巧妙地解构。此外,当我在代码中断时休息时,一切都会按预期停止。

那么,什么给了?有没有更好的方法来隔离问题?关闭用户窗体后,如何找出仍在运行的内容?

最佳答案

好吧,在一些激进的评论和取消评论之后,我的错误似乎与 VBA 的析构函数 Class_Terminate() 有关。

我在“WellCollection”类中有一个“WellReader”类,所以当我终止我的 WellCollection 类时,它会连同它一起破坏 WellReader。但是,如果我为这两个类定义了 Class_Terminate(),它会将我的程序抛出一个循环(字面意思)。简单地定义函数会导致错误,即使其中没​​有代码。

(这里的 a related StackOverflow post 对这个问题有一定的了解。)

所以,虽然我不确定为什么这两个析构函数都不起作用,但现在我将不使用一个。感谢大家的帮助!

关于vba - 为什么我的 Excel VBA 代码在关闭表单后仍然运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14382677/

相关文章:

用于在 Outlook 邮件中搜索的 Excel VBA

excel - Vba 错误处理和类 (Excel)

excel - VBA 自函数返回#VALUE!单元格出错,而在函数窗口中正确返回实际值

excel - 使用 VBA 在 Access 中创建多个链接表

powershell - 调用Workbooks.Add()时使用Powershell自动执行Excel 2007的异常

vba - MS Access VBA 循环遍历列表

excel - VBA从模块更改实例变量(excel)

arrays - 从数组复制信息

vba - 如何避免Excel-VBA中的保存MessageBox提示?

python - 通过python为选定的mysql表创建图表/统计信息