Forms 在表格VBA和x2B之间交换;以决斗屏幕为中心

Forms 在表格VBA和x2B之间交换;以决斗屏幕为中心,forms,vba,Forms,Vba,我正在尝试让我的主菜单和后续表单一起正常运行。我现在正在做的是,在第二次点击Employee\u Form按钮时,表单会重新加载,但由于某种原因会跳到QueryClose Sub的末尾并关闭表单 我有以下代码: 当我单击相关按钮以加载员工表格时,此选项将激活 Private Sub EmpChecker_Click() Main.Hide Employee_Form.Show False End Sub 然后,当我关闭员工表单时,此选项将激活 Private Sub User

我正在尝试让我的
主菜单
和后续表单一起正常运行。我现在正在做的是,在第二次点击
Employee\u Form
按钮时,表单会重新加载,但由于某种原因会跳到
QueryClose Sub
的末尾并关闭表单

我有以下代码:

当我单击相关按钮以加载员工表格时,此选项将激活

Private Sub EmpChecker_Click()
    Main.Hide
    Employee_Form.Show False

End Sub
然后,当我关闭员工表单时,此选项将激活

Private Sub UserForm_QueryClose()
        Employee_Form.Hide
        Main.Show
End Sub
正如我所说,当我再次单击
EmpChecker
按钮时,表单将显示在debug中,但随后跳转到上述代码的末尾并关闭表单

有什么想法吗?我有点迷糊为什么会这样#


我的下一个问题是关于表格的中心。我们在工作时使用4个屏幕连接到一台计算机。我在每个窗体的属性中尝试了所有4个选项,但我使用的每个窗体似乎都集中在第二个屏幕上。真烦人!是否有任何方法可以让它们加载到Excel所在的默认屏幕中

尝试删除
False
参数

Private Sub EmpChecker_Click()
    Main.Hide
    Employee_Form.Show
End Sub
要使您的
用户表单居中,没有自动的方法,您需要使用一些代码

With UserForm1
  .StartUpPosition = 0
  .Left = Application.Left + (0.5 * Application.Width) - (0.5 * .Width)
  .Top = Application.Top + (0.5 * Application.Height) - (0.5 * .Height)
  .Show
End With
要在右侧屏幕中找到用户窗体,可以询问当前窗口位置


希望这有帮助。

尝试删除
False
参数

Private Sub EmpChecker_Click()
    Main.Hide
    Employee_Form.Show
End Sub
要使您的
用户表单居中,没有自动的方法,您需要使用一些代码

With UserForm1
  .StartUpPosition = 0
  .Left = Application.Left + (0.5 * Application.Width) - (0.5 * .Width)
  .Top = Application.Top + (0.5 * Application.Height) - (0.5 * .Height)
  .Show
End With
要在右侧屏幕中找到用户窗体,可以询问当前窗口位置

希望这有帮助