0
我必須生成數百個具有相同項目值的表單控件下拉菜單。所以我想盡可能克隆它們。我應該能夠改變一些屬性,如名稱,OnAction任何想法將不勝感激。Vba Excel:是否可以克隆窗體控件?
我必須生成數百個具有相同項目值的表單控件下拉菜單。所以我想盡可能克隆它們。我應該能夠改變一些屬性,如名稱,OnAction任何想法將不勝感激。Vba Excel:是否可以克隆窗體控件?
Sub Macro1()
Dim c As Range, i As Long, nm As String
Dim sht As Worksheet
Set sht = ActiveSheet
i = 0
For Each c In sht.Range("A2:A20")
i = i + 1
nm = "dd_" & i
On Error Resume Next
sht.Shapes(nm).Delete
On Error GoTo 0
With sht.DropDowns.Add(c.Left, c.Top, c.Width, c.Height)
.Name = nm
.ListFillRange = "K1:K6"
.LinkedCell = ""
.DropDownLines = 8
.Display3DShading = False
.OnAction = "HandleClick"
End With
Next c
End Sub
處理程序:
Sub HandleClick()
Debug.Print Application.Caller
End Sub
代碼工作正常,但我想知道表單控制克隆是否可能? –
我認爲你唯一的選擇可能是通過複製/粘貼,這是不是很整齊。 –
創建它們以編程方式(即在運行時,而不是設計時)。 – steveo40
如果他發佈了一些工作代碼,我會給@ steve040一個upvote在他的答案。在運行時創建控件並不容易,因此一個示例會很有幫助。 –