从模块调用 UserForm_Initialize

Call UserForm_Initialize from Module

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

UserForm_Initialize 按预期运行。这两种方法(运行 in Module1)都无法执行它:

这个

Sub Change()
    Call UserForm_Initialize
End Sub

returns "Compile error: Sub or Function not defined."

这个:

Sub Change()
    UserForm.Show
End Sub

returns "运行-时间错误'424':需要对象。

这是我的用户表单代码:

您不应该 运行 UserForm_Initialize 来自用户窗体之外。 UserForm_Initialize 在实例化 UserForm 时被调用。

相反,将您想要的命令放入用户窗体代码模块的 public 过程中:

Public Sub ResetForm
    ' put stuff in here
End Sub

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

Sub Change()
    UserForm1.ResetForm
End Sub