VBA用户表单(带有ActiveX日期控件)内存问题

时间:2018-06-22 17:32:14

标签: vba excel-vba memory-leaks activex userform

我创建了一个日期选择器,这给我带来了麻烦。日期选择器是一种用户窗体,带有两个称为“ LDdate”的Activex控件,该控件基本上是一个弹出日历,供用户选择日期。我在工作表上有一个命令按钮,在用户窗体上调用.show。我为用户窗体编写的唯一代码如下:

Private Sub okbutton_Click()
    Sheets("Generate").Range("B2") = firstDate.Date
    Sheets("Generate").Range("D2") = lastDate.Date
    Unload Me
End Sub

一切似乎都可以正常工作,但是现在要保存Excel文件的两个工作簿中都使用了它,我首先收到错误消息:System Error&h80004005(-2147467259),然后单击“确定”,它又弹出了大约3次。然后,我收到一条错误消息:Excel无法使用可用资源完成此任务。选择较少的数据或关闭其他应用程序。当我试图弄清楚这一点时,我还突然发现内存不足错误。

我的想法是,每次用户打开日期选择器用户窗体时,都会创建一个用户窗体的实例,然后当用户单击“确定”时,命令“卸载我”实际上并没有杀死该实例,因此有很多正在运行的实例背景。

我有99%的把握是日期选择用户窗体,因为当我从项目中删除它时,问题就消失了。 This picture shows the userform. The date drop down selectors are activex "LDate"

0 个答案:

没有答案