如何避免重置从userform设置的全局变量以便在另一个模块中使用?

时间:2015-11-16 17:58:37

标签: excel vba excel-vba

我在Excel中有一个用户窗体,有很多选项和要输入的值。在userform的代码中,我声明了几个公共变量,用于存储在userform中输入的信息。当用户完成输入用户表单中的所有内容后,他们会单击“处理”按钮并执行表单的主要功能(将来自多个不同Excel文件的数据编译到此表中)。在编译完所有数据之后,我在第一个工作表上有另一个命令按钮,用于运行已编译数据的摘要报告,该报告放在同一工作簿中的另一个工作表中。此摘要宏的代码在模块1中定义,而不是在用户窗体的代码中定义,因为它连接到不同的命令按钮。似乎我在运行此摘要宏时重置了在userform的代码中设置的所有公共变量,因此没有任何工作正常。

我是否必须以某种方式将此模块链接到userform才能访问这些公共变量?或者我是否必须将摘要宏的代码与userform的代码一起放入?如果是这种情况,如何从RunSummary_Click()命令按钮代码的代码中的userform代码中调用Sub?

1 个答案:

答案 0 :(得分:1)

我通过将userform作为无模式(ShowModal = False)运行并将模块中的Public Dim声明链接到userform而不是userform代码本身来实现它。感谢大家的帮助。