Userform不会触发Initialize或Activate事件

时间:2013-10-16 11:12:48

标签: vba excel-vba userform excel

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

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

Private Sub Button2_Click()

    Load MyForm

    MyForm.Show

End Sub 

首先,我将下面的代码保存在我的宏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

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

1 个答案:

答案 0 :(得分: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

Private Sub UserForm_Activate()

End Sub

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

enter image description here