使用 myForm.Hide 或 Unload Me 关闭用户窗体
Close userform using myForm.Hide or Unload Me
在开始之前,让我先介绍一下背景。我正在使用 Excel 进行 VBA 项目,而我使用的计算机资源有限(并且我被要求尽可能轻便以加快执行时间)。
在我的项目中,我在不同时间打开多个用户窗体,例如在我的 sheet 上应用过滤器。
正如我刚才所说的资源有限,我想知道 frmFilters.Hide
是否足以关闭用户表单,或者是否有更好的方法?
I've read about Unload Me
但我不确定它是如何工作的,因为我将从我的表单中应用过滤器,我需要在表单关闭后保留它们,直到用户完全关闭Excel 文件。
是否存在Unload Me
优于frmFilters.Hide
的情况?
此致,
梳毛
我找到了一个有趣的问题答案,我认为在这里 post 它会很有用。
卸载我
Unload me
如果您在项目的主窗体上这样做,则从内存中删除窗体并停止应用程序。您在表单中所做的所有修改都将丢失。
隐藏
myForm.Hide
只隐藏表格。如果您在应用程序的主窗体上这样做,这不会结束程序(例如,调试模式仍为 运行)。您在表单中所做的每项修改都将在您下次显示表单时保留。
使用哪一个?
视情况而定。在我的项目中,我的表单被设置为 open/close 多次,所以我选择只隐藏它以避免每次都为我的表单留出内存。
在开始之前,让我先介绍一下背景。我正在使用 Excel 进行 VBA 项目,而我使用的计算机资源有限(并且我被要求尽可能轻便以加快执行时间)。 在我的项目中,我在不同时间打开多个用户窗体,例如在我的 sheet 上应用过滤器。
正如我刚才所说的资源有限,我想知道 frmFilters.Hide
是否足以关闭用户表单,或者是否有更好的方法?
I've read about Unload Me
但我不确定它是如何工作的,因为我将从我的表单中应用过滤器,我需要在表单关闭后保留它们,直到用户完全关闭Excel 文件。
是否存在Unload Me
优于frmFilters.Hide
的情况?
此致, 梳毛
我找到了一个有趣的问题答案,我认为在这里 post 它会很有用。
卸载我
Unload me
如果您在项目的主窗体上这样做,则从内存中删除窗体并停止应用程序。您在表单中所做的所有修改都将丢失。
隐藏
myForm.Hide
只隐藏表格。如果您在应用程序的主窗体上这样做,这不会结束程序(例如,调试模式仍为 运行)。您在表单中所做的每项修改都将在您下次显示表单时保留。
使用哪一个?
视情况而定。在我的项目中,我的表单被设置为 open/close 多次,所以我选择只隐藏它以避免每次都为我的表单留出内存。