首页 文章

Excel Userform在首次加载后未初始化

提问于
浏览
1

我有一个具有多层用户表单的工作簿 .

打开工作簿时,会向用户显示一个userform,其中包含两个命令按钮,一个用于选择带有pivottable和slicers的工作表,另一个用于打开另一个包含八个命令按钮的用户窗体,其中七个用于调用其他单个用户窗体,另外八个用户窗体调用八个命令按钮 . 是一个关闭按钮 .

我遇到的问题是,当我选择打开新用户窗体的命令按钮,然后关闭第二个用户窗体,然后重新选择命令按钮以重新打开第二个用户窗体,出现第二个用户窗体,但没有任何命令按钮工作,也没有关闭窗口(X) .

第一个命令按钮后面的代码如下:

Private Sub cmd_manageAbsence_Click()
    splashScreen.Hide
    Load managementFunctions
    managementFunctions.Show
End Sub

第二个用户窗体上的close和terminate代码如下:

Private Sub cmd_close_Click()
    Unload managementFunctions
End Sub

Private Sub UserForm_Terminate()
    Sheets("Front").Activate
    splashScreen.Show
End Sub

第二层用户表单我遇到了同样的问题,但我想如果我将第一层排序,我可以将修复应用到其余层 .

谢谢

1 回答

  • 2

    你应该试试

    Unload Me
    

    代替

    Unload managementFunctions
    

    另外,你可能想看看 Form.ShowForm.ShowDialog 之间的区别(https://msdn.microsoft.com/en-us/library/aa984358%28v=vs.71%29.aspx ......我意识到这是一个旧页面,但信息仍然有效!)


    此外,您还可以从创建表单对象中受益,如下所示:

    Dim frm as managementFunctions
    set frm = new managementFunctions
    frm.Show
    

    然后你可以使用

    Me.Hide
    

    而不是 Unload Me

相关问题