Excel 为什么VBA主窗体由子窗体关闭';s';x';关闭按钮事件?

Excel 为什么VBA主窗体由子窗体关闭';s';x';关闭按钮事件?,excel,vba,Excel,Vba,嘿,所以我正在VBA中处理一些表单,并且遇到了一些问题。我从主窗体打开其他窗体,但当我使用红色的“x”按钮退出其中一个窗体时,它也会关闭我的主窗体,而不仅仅是另一个窗体 如何防止这种情况发生?您应该使用只关闭子窗体的代码 e、 g.您的子表单名称为子表单1 DoCmd.Close acForm, "SubForm1" 但由于您使用x按钮关闭子窗体,因此可以使用QueryClose事件 Private Sub UserForm_QueryClose(Cancel As Integer, Clos

嘿,所以我正在VBA中处理一些表单,并且遇到了一些问题。我从主窗体打开其他窗体,但当我使用红色的“x”按钮退出其中一个窗体时,它也会关闭我的主窗体,而不仅仅是另一个窗体


如何防止这种情况发生?

您应该使用只关闭子窗体的代码

e、 g.您的子表单名称为子表单1

DoCmd.Close acForm, "SubForm1"
但由于您使用x按钮关闭子窗体,因此可以使用
QueryClose
事件

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    If CloseMode = 0 Then
     Cancel = True
    End if
End Sub

PS:如果您可以通过编辑问题来发布代码,这将非常有用。

我知道这是旧的,但请检查表单“Showmodal”属性的设置,并为我修复了它。

我没有为“x”按钮编写任何代码,只有我输入的实际按钮具有关闭表单的代码。基本上我在表单上有一个叫做“关闭”的按钮,它只关闭表单。默认情况下,“x”按钮就在表单上。我只想在单击红色按钮时关闭此表单,而当前它关闭所有打开的表单