[英]Define sheets of MoveButton function in VBA
我有一個由5 Sheets
組成的 Excel 文件。
在Sheet1
、 Sheet2
和Sheet3
我有一個Button 1
。
一旦用戶單擊這些按鈕之一,所有Button 1
都應從其當前位置移動到范圍D9:E11
。
無論用戶在哪個工作表中單擊按鈕。
我試圖從這里開始使用解決方案,但只有當我有兩張紙時它才有效。
我試圖添加Sheet3
但它沒有用:
錯誤數量的參數或無效的屬性分配
Sub Sample()
MoveButton Sheet1, "Button 1", Sheet2, Sheet3
End Sub
Sub MoveButton(sh As Worksheet, btnName As String, Optional shB As Worksheet)
Dim Range_Position As Range
Set Range_Position = sh.Range("D9:E11")
With sh.Buttons(btnName)
.Top = Range_Position.Top
.Left = Range_Position.Left
.Width = Range_Position.Width
.Height = Range_Position.Height
.Text = "Button 1"
End With
If Not shB Is Nothing Then
With shB.Buttons(btnName)
.Top = Range_Position.Top
.Left = Range_Position.Left
.Width = Range_Position.Width
.Height = Range_Position.Height
.Text = "Button 1"
End With
End If
End Sub
我需要在代碼中更改什么來指定我想要將Button 1
移動到范圍D9:E11
每個工作表?
程序本身只允許最多三個參數。
MoveButton(sh As Worksheet, btnName As String, Optional shB As Worksheet)
請注意,MoveButton 后面的逗號當前分隔了三個參數。
您可以更改它或至少調用它三次。
如果您決定修改調用者:
Sub Sample()
MoveButton Sheet1, "Button 1", Sheet2
MoveButton Sheet3, "Button 1", Sheet4
MoveButton Sheet5, "Button 1"
End Sub
重新閱讀問題,如果按鈕僅在提到的工作表中,請使用:
Sub Sample()
MoveButton Sheet1, "Button 1", Sheet2
MoveButton Sheet3, "Button 1"
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.