Отключить командную кнопку, пока не будут выбраны определенные кнопки - PullRequest
0 голосов
/ 07 января 2019

У меня есть пользовательская форма "HRMForm" с 4 кнопками выбора. Пользователи должны выбрать как минимум 2 из этих кнопок выбора, чтобы продолжить. Пока это требование не выполнено, я хочу, чтобы кнопка «Отправить» была отключена.

Я включил названия каждой кнопки выбора и кнопки команды: 1. optHRMCM 2. optHRMLI 3. optHRMPM 4. optHRMBE 5. Командная кнопка - btnHRMSubmit

Мои текущие кодовые слова. Однако после того, как пользователь выберет правильные параметры и кнопка отправки будет включена, если они щелкнут эти кнопки параметров, кнопка отправки останется включенной. Как я могу закодировать это, чтобы вернуться к тому, чтобы быть отключенным?

Private Sub optHRMLI_Click()

If Me.optHRMCM And Me.optHRMLI Then
   btnHRMSubmit.Enabled = True
End If

If Me.optHRMCM And Me.optHRMPM Then
   btnHRMSubmit.Enabled = True
End If

If Me.optHRMCM And Me.optHRMBE Then
   btnHRMSubmit.Enabled = True
End If

If Me.optHRMLI And Me.optHRMPM Then
   btnHRMSubmit.Enabled = True
End If

If Me.optHRMLI And Me.optHRMBE Then
   btnHRMSubmit.Enabled = True
End If

If Me.optHRMPM And Me.optHRMBE Then
   btnHRMSubmit.Enabled = True
End If

End Sub

1 Ответ

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

Я думаю, что этот код вам нужен. Просто замените имена в нем, и это внутри пользовательской формы.

Private Sub OptionButton1_Click()
  countOptions
End Sub

Private Sub OptionButton2_Click()
countOptions
End Sub

Private Sub OptionButton3_Click()
countOptions
End Sub

Private Sub OptionButton4_Click()
countOptions
End Sub

Private Sub UserForm_Initialize()

  CommandButton1.Enabled = False

End Sub

Sub countOptions()
 Dim cntrl As Control
 Dim Count As Integer
 Count = 0
 For Each cntrl In UserForm1.Controls

    If TypeOf cntrl Is msforms.OptionButton Then

       If cntrl = True Then
         Count = Count + 1
       End If

    End If
 Next

 If Count >= 2 Then
  CommandButton1.Enabled = True
 End If

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...