В общем, вы хотите избежать использования выделений в коде
Вы можете назначить диапазон переменной и поместить в нее кнопку:
Sub AddOptionButton() Dim myRange as Range Set myRange = Range("C3") With ActiveSheet.OptionButtons.Add(myRange.Left, myRange.Top, myRange.Width, myRange.Height) .Name = "NewOptionButton" .Caption = "Green" End With End Sub
Но может быть лучше передать диапазон функции:
Function AddOptionButton(myRange as Range) With ActiveSheet.OptionButtons.Add(myRange.Left, myRange.Top, myRange.Width, myRange.Height) .Name = "NewOptionButton" .Caption = "Green" End With End Function
Который вы можете позвонить из любого места в вашем Sub
:
Call AddOptionButton(Range("F15"))