У меня есть UserForm1
, состоящий из четырех Checkboxes
:
CheckBox1
-> Основной флажок
CheckBox2
-> Sub Флажок
CheckBox3
-> Sub Флажок
CheckBox4
-> Sub Флажок
Теперь, если пользователь проверяет / снимает отметку CheckBox1
, sub CheckBoxes 2-4
автоматически проверяется / снимается с помощью этого VBA:
Private Sub CheckBox1_Change()
If CheckBox1.Value = True Then
CheckBox2.Value = True
CheckBox3.Value = True
CheckBox4.Value = True
Else
CheckBox2.Value = False
CheckBox3.Value = False
CheckBox4.Value = False
End If
End Sub
Все это прекрасно работает.
Но теперь я хочу добиться этого в случае, если один из sub CheckBoxes 2-4
не будет проверен, main checkbox
автоматически отключится и без снятия флажка с другого sub CheckBoxes.
Пример:
Пользователь сначала нажимает CheckBox1
, а затем Checkboxes 2-4
автоматически проверяется.
Затем пользователь снимает флажки Checkbox2
, а CheckBox1
автоматически снимается, в то время как Checkbox 3-4
остается отмеченным.
Примерно так:
Sub Check_Uncheck()
If any of Checkbox 2-4 is unchecked then
only uncheck CheckBox1 but do not change any other sub CheckBox
End