Проект кода:
public sub createoptionbutton(xname,a,b,c,d) dim obj as object xname=trim(xname) for each obj in activesheet.optionbuttons if obj.name=xname then exit sub next activesheet.optionbuttons.add(a,b,c,d).select selection.name=xname end sub
Отредактируйте его, как вам нужно.
PS. Вам не нужно выбирать какую-либо ячейку перед созданием опции - это не имеет значения. Просто укажите конкретный лист вместо ActiveSheet. И я бы рекомендовал установить свойство GroupBox дополнительно.
PPS. По запросу Rajesh S - функция, которая проверяет только существование опции:
public function optionbuttonexists(xname) as boolean dim obj as object xname=trim(xname) for each obj in activesheet.optionbuttons if obj.name=xname then optionbuttonexists = true exit sub end if next end function
... и обратная функция
public function optionbuttonabsent(xname) as boolean dim obj as object xname=trim(xname) for each obj in activesheet.optionbuttons if obj.name=xname then exit sub next optionbuttonabsent=true end function
Последняя функция позволяет решить авторскую задачу как
if optionbuttonabsent(" Select2Button ") then ActiveSheet.OptionButtons.Add(225.75, 540, 79.5, 21.75).Select Selection.Name = " Select2Button " end if