Excel 如何使用VBA中的命令按钮以编程方式在现有用户窗体上创建新复选框?
我试过了`Excel 如何使用VBA中的命令按钮以编程方式在现有用户窗体上创建新复选框?,excel,vba,Excel,Vba,我试过了` Set chkBox=UserForm1.Controls.Add(“Forms.Checkbox.i”、“Checkbox”&i) '.Object.Caption=范围(“D3”).值 我甚至试过 With ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _ Left:=51.75, Top:=183, Width:=120, Height:=19.5) .Name = "NewCheckBox
Set chkBox=UserForm1.Controls.Add(“Forms.Checkbox.i”、“Checkbox”&i)
'.Object.Caption=范围(“D3”).值
我甚至试过
With ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=51.75, Top:=183, Width:=120, Height:=19.5)
.Name = "NewCheckBox"
.Object.Caption = Range("D3").Value
但这给了我一个复选框,但不是在我创建的userform上,而是在我所在的activesheet上
任何建议都是我写的最原始的形式,这增加了一个复选框(在UserForm1的左上角)
你会想玩定位之类的游戏。在我写的最原始的表单中,这添加了一个复选框(在UserForm1的左上角)
您需要处理定位等问题。对于第二段代码,似乎是因为您正在使用
ActiveSheet
限定Add
方法。如果将ActiveSheet
更改为UserForm1
,该怎么办?此外,对于第一部分,它应该是“Forms.Checkbox.1”。正在设置i
的位置?在第一位中,它应该是Forms.Checkbox.1
。此代码在哪里?请查看。对于第二段代码,似乎是因为您正在使用ActiveSheet
限定Add
方法。如果将ActiveSheet
更改为UserForm1
,该怎么办?此外,对于第一部分,它应该是“Forms.Checkbox.1”。正在设置i
的位置?在第一位中,它应该是Forms.Checkbox.1
。这段代码在哪里?看一看。这很有效,非常感谢,尽管我必须以编程方式命名,这应该没有问题。这很有效,非常感谢,尽管我必须以编程方式命名,这应该没有问题
Private Sub CommandButton1_Click()
Dim chkBox As Control
Set chkBox = Me.Controls.Add("Forms.CheckBox.1", "checkbox")
End Sub