从模块调用UserForm_Initialize

时间:2018-10-09 16:13:06

标签: excel vba userform

我正在尝试从模块调用Private Sub UserForm_Initialize。

UserForm_Initialize按预期运行。这两种方法(在Module1中运行)均无法执行:

Sub Change()
    Call UserForm_Initialize
End Sub

返回“编译错误:未定义子函数或函数。”

此:

Sub Change()
    UserForm.Show
End Sub

返回“运行时错误'424':必需的对象。

这是我的用户表单代码: Userform_Initialize

1 个答案:

答案 0 :(得分:1)

您不应该从UserForm外部运行UserForm_Initialize。实例化用户窗体时,将调用UserForm_Initialize

相反,将所需的命令放在UserForm代码模块的公共过程中:

Public Sub ResetForm
    ' put stuff in here
End Sub

然后,如果您需要重置UserForm(假设它名为UserForm1),请从常规模块中以这种方式调用代码:

Sub Change()
    UserForm1.ResetForm
End Sub