Userform不会触发Initialize或Activate事件

sai*_*116 5 excel vba excel-vba userform

我在工作表中保留了一个用户窗体控件按钮来启动宏,然后显示用户窗体,在窗体中我希望在复选框中显示打开的文件(使用Workbooks集合).我希望运行一个执行的宏仅对用户选择的文件执行操作.

因此,对于工作表中的按钮,我已分配以下宏

Private Sub Button2_Click()

    Load MyForm

    MyForm.Show

End Sub 
Run Code Online (Sandbox Code Playgroud)

起初我将下面的代码保存在我的宏sub所在的模块中.由于它不起作用,我右键单击用户表单并选择了视图代码并保留了下面的代码.但它仍然显示相同的静态设计用户表单,不是动态的.我在加载Myform和MYform.Show()时保持断点,然后我逐步完成代码.它从来没有进入初始化或激活方法.

Private Sub MyForm_Activate()
  'for checking the whether this method is called or not I am trying to change caption
  MyForm.LabelSelectFile.Caption = "dhfdfldkfldzjf;zdfkz;d"

  Dim mymyWorkBook As Workbook
  For Each mymyWorkBook In Workbooks
     'code for creating checkbox based on the file name displayed by the workbook collection      
  Next mymyWorkBook
End Sub
Run Code Online (Sandbox Code Playgroud)

我无法理解为什么这个事件没有被触发.请帮我克服这个.谢谢你

Sid*_*out 12

即使表单的名称是MyForm,您仍然需要使用userform.

'~~> in your worksheet
Private Sub Button2_Click()
    MyForm.Show
End Sub

'~~> In the userform code area
Private Sub UserForm_Initialize()
    '~~> Your code here
End Sub
Run Code Online (Sandbox Code Playgroud)

要么

Private Sub UserForm_Activate()

End Sub
Run Code Online (Sandbox Code Playgroud)

最好的方法是始终从下拉列表中选择事件,而不是键入事件

在此输入图像描述