Excel Sub_将添加的comobox的引用更改为userform VBA
下面的代码将打开一个userform(示例),其中我有一个commmandbutton,它添加了一个新的组合框。我可以命名组合框并在即时窗口中检索名称,但我无法访问添加的组合框的更改命令或检索对其输入的访问 在中,您希望在更改此添加的组合框后执行操作。我可以使用设置“newgene1”=。。。。但是在reclickit上,第一个盒子会丢失Excel Sub_将添加的comobox的引用更改为userform VBA,excel,vba,combobox,userform,Excel,Vba,Combobox,Userform,下面的代码将打开一个userform(示例),其中我有一个commmandbutton,它添加了一个新的组合框。我可以命名组合框并在即时窗口中检索名称,但我无法访问添加的组合框的更改命令或检索对其输入的访问 在中,您希望在更改此添加的组合框后执行操作。我可以使用设置“newgene1”=。。。。但是在reclickit上,第一个盒子会丢失 这通常是使用控制阵列来处理的:是的,非常感谢您的快速响应。我好像开始工作了! Option Explicit Dim Counter As Integer
这通常是使用控制阵列来处理的:是的,非常感谢您的快速响应。我好像开始工作了!
Option Explicit
Dim Counter As Integer
Private WithEvents newgene1 As MSForms.ComboBox
Private WithEvents newgene2 As MSForms.ComboBox
Dim Generanger As Range
Private Sub UserForm_Initialize()
Set Generanger = ThisWorkbook.ActiveSheet.Range("A1", Range("A1").End(xlDown)) 'list of data
Generanger.Select
Counter = 1
cboGenelist.RowSource = Generanger.Address
End Sub
--------------------------------------------------------------------
Private Sub cboGenelist_Change()
MsgBox (cboGenelist.Text)
End Sub
--------------------------------------------------------------------
Private Sub cmdAddgene_Click()
UserForm1.Height = UserForm1.Height + 20
UserForm1.Controls.Add("Forms.comboBox.1", "newgene" & Counter) = "select"
With Me.Controls("newgene" & Counter)
.Left = 20
.Top = UserForm1.Height - 50
.RowSource = Generanger.Address
.Font.Name = "Trebuchet MS"
.Font.Size = 12
End With
Debug.Print Me.Controls("newgene" & Counter).Name
Counter = Counter + 1
End Sub
--------------------------------------------------------------------
Private Sub newgene1_Change()
MsgBox (newgene.Text)
End Sub
--------------------------------------------------------------------
Private Sub newgene2_Change()
MsgBox (newgene2.Text)
End Sub