Несколько пользовательских форм, которые запускают друг друга; UserForm_QueryClose не работает должным образом - PullRequest
0 голосов
/ 04 января 2019

У меня есть 5 пользовательских форм, и некоторые из них активируются в зависимости от ввода первой пользовательской формы.

Первый код пользовательской формы приведен ниже.

Private Sub OptionButton1_Click()

    If OptionButton1.Value = True Then
        WsName = "CAT"
        Unload Me
    End If
End Sub

Private Sub OptionButton2_Click()
    If OptionButton2.Value = True Then
        WsName = "DOG"
        Unload Me
    End If
End Sub

Private Sub OptionButton3_Click()
    If OptionButton3.Value = True Then
        WsName = "CATDOG"
        Unload Me
    End If
End Sub

Private Sub OptionButton4_Click()
    If OptionButton4.Value = True Then
        WsName = "DOGCAT"
        Unload Me
    End If
End Sub

Private Sub UserForm_Initialize()
    Me.StartUpPosition = 0
    Me.Top = Application.Top + 250
    Me.Left = Application.Left + Application.Width - Me.Width - 600
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    End
End Sub

Когда я нажимаю красную «X», чтобы завершить весь модуль, который вызывает UserForm, модуль завершается, и я счастлив. Когда я нажимаю одну из опций пользовательской формы, например OptionButton1.Value = True, код также выходит из модуля, и мне грустно. Что я делаю неправильно? Я хотел бы, чтобы пользователь мог нажимать на красную «X» в любой точке любой пользовательской формы, чтобы закрыть модуль и выйти из кода.

1 Ответ

0 голосов
/ 04 января 2019

Ответ на этот вопрос был

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
   If 
      OptionButton1.Value = False And OptionButton2.Value = False OptionButton3.Value = 
      False And OptionButton4.Value = False Then 
      End 
  End If 
End Sub 
...