在VBA中精確定位新選項按鈕

在VBA中精確定位新選項按鈕

有沒有辦法在 VBA 或巨集中精確定位新選項按鈕並調整其大小?

我正在使用的程式碼插入一個新的選項按鈕,目前在工作表中選擇每個儲存格。

如果您再次運行該程式碼,它將在第一個按鈕的正上方插入第二個按鈕。

它還將選項按鈕的大小設定為所選單元格的大小。

我需要做的是在程式碼中聲明我想要插入新選項按鈕的儲存格,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"))

相關內容