VBAで新しいオプションボタンを正確に配置する

VBAで新しいオプションボタンを正確に配置する

VBA またはマクロで新しいオプション ボタンを正確に配置およびサイズ設定する方法はありますか?

私が使用しているコードは、ワークシート内で現在選択されているセルに新しいオプション ボタンを挿入します。

その後、コードを再度実行すると、最初のボタンのちょうど上に 2 番目のボタンが挿入されます。

また、オプション ボタンのサイズを選択したセルのサイズに設定します。

私が実行する必要があるのは、コード内で、新しいオプション ボタンを挿入するセル (F15) を指定し、ボタンの正確なサイズと、左/右および上/下の位置を設定することです。

これは、オプション ボタンが常に同じセルに、同じ位置とサイズで挿入されるようにするためです。

これは可能ですか?

新しいオプション ボタンを作成/挿入するコードは次のとおりです。

Sub AddOptionButton()
    With ActiveSheet.OptionButtons.Add(Selection.Left, Selection.Top, 
Selection.Width, Selection.Height)
        .Name = "NewOptionButton"
        .Caption = "Green"
    End With
End Sub

答え1

一般的に、コード内で選択を使用することは避けたい

範囲を変数に割り当てて、その中にボタンを配置することができます。

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"))

関連情報