Codeentwurf:
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
Bearbeiten Sie es nach Bedarf.
PS. Sie müssen vor der Erstellung der Optionsbox keine Zelle auswählen - es spielt keine Rolle. Zeigen Sie einfach auf ein bestimmtes Arbeitsblatt anstelle von ActiveSheet. Und ich würde empfehlen, die GroupBox-Eigenschaft zusätzlich festzulegen.
PPS. Auf Anforderung von Rajesh S - der Funktion, die nur die Existenz der Optionsschaltfläche überprüft:
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
... und Rückwärtsfunktion
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
Die letzte Funktion erlaubt es, die Aufgabe des Autors als zu lösen
if optionbuttonabsent(" Select2Button ") then ActiveSheet.OptionButtons.Add(225.75, 540, 79.5, 21.75).Select Selection.Name = " Select2Button " end if