在VBA之间交换+在双屏幕上居中

问题描述 投票:1回答:1

我想让我的Main Menu和后续形式一起正常运作。我目前正在发生的是第二次点击Employee_Form按钮,表单加载回来,但然后跳转到QueryClose Sub的末尾并关闭表单由于某种原因!

我有以下代码:

当我单击相关按钮以加载employee_Form时,将激活此选项。

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

End Sub

然后,当我关闭Employee表单时,它会激活。

Private Sub UserForm_QueryClose()
        Employee_Form.Hide
        Main.Show
End Sub

正如我所说,当我再次单击EmpChecker按钮时,表单将显示在调试中,但然后跳转到上面的代码结束并关闭表单。

有任何想法吗?我对于为什么会发生这种情况有点了解。#

我的下一个问题是关于表格的居中。我们在连接到一台计算机的工作中使用了4个屏幕我已经尝试了每个表单的属性中的所有4个选项,但是我使用表单的每个选项似乎都在第二个屏幕中居中。它很烦人!无论如何只是让他们加载到Excel所在的默认屏幕!?

forms vba
1个回答
0
投票

尝试删除False参数

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

要使你的UserForm居中,没有自动的方法,你需要使用一些代码。

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

要在右侧屏幕中找到您的用户表单,您可以询问当前窗口位置。

希望这可以帮助。

© www.soinside.com 2019 - 2024. All rights reserved.