Во-первых, нет необходимости в вашем операторе If, поскольку первое условие всегда будет иметь значение True при нажатии OptionButton1. Во-вторых, каждый оператор, который устанавливает для кнопки выбора значение False, должен находиться на отдельной строке и без оператора And. Вместо этого попробуйте следующее ...
Private Sub OptionButton1_Click()
OptionButton4.Value = False
OptionButton5.Value = False
OptionButton6.Value = False
OptionButton7.Value = False
OptionButton8.Value = False
OptionButton9.Value = False
OptionButton10.Value = False
OptionButton11.Value = False
End Sub
Однако есть альтернатива ...
Private Sub OptionButton1_Click()
Dim ctrl As MSForms.Control
For Each ctrl In Me.Controls
If TypeName(ctrl) = "OptionButton" Then
If ctrl.GroupName = "Category" Then
ctrl.Value = False
End If
End If
Next ctrl
End Sub
На самом деле, поскольку вы хотите сбросить кнопки выбора «Категория», когда OptionButton1 или OptionButton2 вместо этого попробуйте следующее ...
Private Sub OptionButton1_Click()
Call ResetCategoryOptionButtons
End Sub
Private Sub OptionButton2_Click()
Call ResetCategoryOptionButtons
End Sub
Private Sub ResetCategoryOptionButtons()
Dim ctrl As MSForms.Control
For Each ctrl In Me.Controls
If TypeName(ctrl) = "OptionButton" Then
If ctrl.GroupName = "Category" Then
ctrl.Value = False
End If
End If
Next ctrl
End Sub
Надеюсь, это поможет!