Надеюсь, у вас есть элегантное решение для того, что, вероятно, является простой проблемой!Цикл нумерации OptionButton
Я использую кнопки опций ActiveX, но в рабочем листе, а не в форме пользователя или в группе из-за того, как был разработан лист. Код содержится как вспомогательный элемент в форме кода кнопки опции.
Этот код довольно понятно, что я пытаюсь сделать:
Public Sub SectionD_Click()
If OptionButton1.Value = True Then
ThisWorkbook.Sheets("Boolean").Range("B2").Value = 1
ElseIf OptionButton2.Value = True Then
ThisWorkbook.Sheets("Boolean").Range("B2").Value = 0
End If
If OptionButton3.Value = True Then
ThisWorkbook.Sheets("Boolean").Range("B3").Value = 1
ElseIf OptionButton4.Value = True Then
ThisWorkbook.Sheets("Boolean").Range("B3").Value = 0
End If
If OptionButton5.Value = True Then
ThisWorkbook.Sheets("Boolean").Range("B4").Value = 1
ElseIf OptionButton6.Value = True Then
ThisWorkbook.Sheets("Boolean").Range("B4").Value = 0
End If
End Sub
Я хотел бы сделать это таким образом, что число после «OptionButton» изменяет значения с помощью простого «я = я + 2 ', но кажется, что некоторые ограничения переменной VBA/выражение/объект не позволят мне (извините, что я здесь noob, не знаю, какая должна быть правильная терминология).
Было бы очень полезно, если бы кто-нибудь мог указать мне в правильном направлении здесь! Мне нужно просмотреть пару пар опций кнопок примерно так же, и мне очень хотелось бы, чтобы код состоял всего из 5 простых строк, а не из ста над линиями, делающих то же самое!
Это все! Даже не нужно было настраивать его слишком много, поистине элегантное решение, которое я искал. Пробовал OLEObjects ранее, но он не работал для меня, спасибо, что показал мне, как это должно быть сделано;) –
Фактический элемент управления ActiveX завернут в OleObject. Вот почему вы используете OleObject.Object для ссылки на него. –