Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel Sub_将添加的comobox的引用更改为userform VBA_Excel_Vba_Combobox_Userform - Fatal编程技术网

Excel Sub_将添加的comobox的引用更改为userform VBA

Excel Sub_将添加的comobox的引用更改为userform VBA,excel,vba,combobox,userform,Excel,Vba,Combobox,Userform,下面的代码将打开一个userform(示例),其中我有一个commmandbutton,它添加了一个新的组合框。我可以命名组合框并在即时窗口中检索名称,但我无法访问添加的组合框的更改命令或检索对其输入的访问 在中,您希望在更改此添加的组合框后执行操作。我可以使用设置“newgene1”=。。。。但是在reclickit上,第一个盒子会丢失 这通常是使用控制阵列来处理的:是的,非常感谢您的快速响应。我好像开始工作了! Option Explicit Dim Counter As Integer

下面的代码将打开一个userform(示例),其中我有一个commmandbutton,它添加了一个新的组合框。我可以命名组合框并在即时窗口中检索名称,但我无法访问添加的组合框的更改命令或检索对其输入的访问

在中,您希望在更改此添加的组合框后执行操作。我可以使用设置“newgene1”=。。。。但是在reclickit上,第一个盒子会丢失


这通常是使用控制阵列来处理的:是的,非常感谢您的快速响应。我好像开始工作了!
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