如何在UserForm_Initialize()
而不是UserForm代码对象中调用Module
?
答案 0 :(得分:9)
来自模块:
UserFormName.UserForm_Initialize
只需确保在您的用户表单中更新子代码,如下所示:
Public Sub UserForm_Initialize()
所以可以从表单外部调用它。
或者,如果尚未加载Userform:
UserFormName.Show
最终会调用UserForm_Initialize
,因为它会加载表单。
答案 1 :(得分:3)
恕我直言,方法 UserForm_Initialize应保持私密,因为它是UserForm的<< strong>事件处理程序。
当创建UserForm的新实例时,将调用此事件处理程序。在这个偶数处理程序中,你可以初始化UserForm1类的私有成员。
示例:的
标准模块代码:
Option Explicit
Public Sub Main()
Dim myUserForm As UserForm1
Set myUserForm = New UserForm1
myUserForm.Show
End Sub
用户表单代码:
Option Explicit
Private m_initializationDate As Date
Private Sub UserForm_Initialize()
m_initializationDate = VBA.DateTime.Date
MsgBox "Hi from UserForm_Initialize event handler.", vbInformation
End Sub
答案 2 :(得分:1)
解 在这段时间之后,我设法解决了这个问题。
在模块中: 用户窗体(名称).Userform_Initialize
此方法最适合动态初始化当前UserForm