Excel Userform在第一次加载后不初始化

我有一个有多个用户窗体层的工作簿。

当打开工作簿时,向用户呈现具有两个命令button的用户窗体,其中一个select具有枢轴表和切片器的工作表,另一个打开另一个包含八个命令button的用户窗体,其中七个命令button进一步调用各个用户窗体,以及八个是一个closuresbutton。

我遇到的问题是,当我select打开一个新的用户窗体的命令button,然后closures第二个窗体,然后重新select命令button重新打开第二个窗体,第二个窗体出现,但没有一个命令button工作,也没有closures窗口(X)。

第一个命令button后面的代码如下所示:

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

第二个用户窗体上的closures和终止代码如下所示:

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

我有与第二层用户forms相同的问题,但我想如果我得到的第一层sorting我可以将修复应用于其余。

谢谢

你应该试试

 Unload Me 

代替

 Unload managementFunctions 

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


此外,你也可以从创build你的表单对象中受益,如下所示:

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

然后你可以使用

 Me.Hide 

而不是Unload Me