Вам не нужно на самом деле читать значение метки. Вы можете назначить метки кнопкам параметров и изменить значение параметра, выбранного таким образом.
Вы можете вызвать это на Worksheet_SelectionChange
Sub reflectCell()
Dim targetedCell As String
targetedCell = Range("A1").Text
Select Case UCase(targetedCell)
Case "RED"
ActiveSheet.OptionButton1.Value = True
Case "BLUE"
ActiveSheet.OptionButton2.Value = True
Case "GREEN"
ActiveSheet.OptionButton3.Value = True
End Select
End Sub
Если только вы не имеете в виду, что метка является значением ячейки рядом с OptionButton Является ли целевая ячейка статическим местоположением Range или текущей ActiveCell?
Если целевая ячейка всегда находится в одном и том же месте, вы можете контролировать ввод правописания следующим образом.
![](https://i.stack.imgur.com/fz8dz.png)
Вот еще один более простой подход
На этом снимке экрана показано немароксальное решение, которое работает, если вы можете использовать формулы на листе.
![пример кнопок выбора](https://i.stack.imgur.com/fGsJm.png)
Назовите каждую опциональную кнопку такой же, как у метки в столбце A. У связанной ячейки будет другая ячейка (примеры, которые могут быть скрыты в E, это формулы, показанные на F), в этой ячейке она должна сравнить входные данные, которые вы предоставляете для каждой метки ячейки. Только один должен в конечном итоге ИСТИНА (см. Примеры формул)
Таким образом, опция в B2 связана с E2, B3 связана с E3, B7 связана с E7 и т.д. Если вам разрешен дополнительный столбец с формулами (и они могут быть где угодно), это намного проще, чем использовать vba