Vba Excel:是否可以克隆表单控件?
我必须生成数百个具有相同项值的表单控件下拉列表。如果可能的话,我想克隆它们。而且我应该能够更改一些属性,如名称、操作任何想法都将非常感激Vba Excel:是否可以克隆表单控件?,excel,vba,Excel,Vba,我必须生成数百个具有相同项值的表单控件下拉列表。如果可能的话,我想克隆它们。而且我应该能够更改一些属性,如名称、操作任何想法都将非常感激 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 = "
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
以编程方式创建它们(即在运行时而不是设计时)。如果@steve040发布了一些工作代码,我会对他的答案进行投票。在运行时创建控件并不容易,因此举个例子会很有帮助。代码运行良好,但我想知道表单控件克隆是否可行?我认为您唯一的选择可能是通过复制/粘贴,这不是很整洁。