使用myForm.Hide或Unload Me关闭userform

时间:2017-08-23 11:52:07

标签: excel vba excel-vba memory userform

在我开始之前,请让我给你背景信息。我正在使用Excel进行VBA项目,而我使用的计算机资源有限(我被要求尽可能快地执行,以便快速执行)。 在我的项目中,我在不同的时间打开多个userform,例如在我的工作表上应用过滤器。

正如我刚才所说资源有限,我想知道frmFilters.Hide是否足以关闭用户形式,或者是否有更好的方法可以这样做?

I've read about Unload Me但我不确定它是如何工作的,因为我将从我的表单中应用过滤器,我需要在表单关闭后保留它们,直到用户完全关闭Excel文件

是否存在Unload Me优于frmFilters.Hide的情况?

此致 毛草

1 个答案:

答案 0 :(得分:0)

我发现了一个有趣的答案,我认为在这里发布它会很有用。

卸载我

Unload me

从内存中删除表单,如果在项目的主窗体上执行此操作,则停止该应用程序。您在表单中执行的每项修改都将丢失。

<强>隐藏

myForm.Hide

仅隐藏表单。如果在应用程序的主窗体上执行此操作,则不会结束程序(例如,调试模式仍将运行)。您在表单中进行的每项修改都将在下次显示表单时保留。

使用哪一个?

取决于我相信的情况。在我的项目中,我的表单被多次打开/关闭所以我选择只隐藏它以避免每次都为我的表单留下内存。