
有沒有辦法在 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"))