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 根据条件将单元格添加到AddItem_Excel_Vba - Fatal编程技术网

Excel 根据条件将单元格添加到AddItem

Excel 根据条件将单元格添加到AddItem,excel,vba,Excel,Vba,如果不同列中对应的单元格与ComboBox1的值匹配,是否可以将B列的值添加到ComboBox2 如果我要在ComboBox1中选择一个客户ID,我希望在Combox2中将与该客户ID相关的所有发票作为附加项放入 这是我当前对ComboBox1的填充: Private Sub prComboBoxFill() TRows = Worksheets("Customers").Range("A1").CurrentRegion.Rows.Count ComboBox1.Clear

如果不同列中对应的单元格与ComboBox1的值匹配,是否可以将B列的值添加到ComboBox2

如果我要在ComboBox1中选择一个客户ID,我希望在Combox2中将与该客户ID相关的所有发票作为附加项放入

这是我当前对ComboBox1的填充:

Private Sub prComboBoxFill()
    TRows = Worksheets("Customers").Range("A1").CurrentRegion.Rows.Count
    ComboBox1.Clear
    For i = 2 To TRows
        ComboBox1.AddItem Worksheets("Customers").Cells(i, 1).value       
    Next i
End Sub
基本上,我想让Combox2的prFill2检查Combox1中选择了哪个客户ID,使用上面的prFill,然后添加B列中的单元格,这些单元格在A列的prFill中选择了客户ID。我希望这是有意义的

我想不出一个可行的方法,我开始怀疑这是否可能实现。所以如果你们有什么想法,请告诉我

提前谢谢

编辑: 在尝试了一些东西之后,我认为这可能会起作用,但是它只添加了第一行中与ComboBox1的值具有相同客户ID的对应单元格。有办法解决这个问题吗

TRows = Worksheets("Customers").Range("A1").CurrentRegion.Rows.Count
        For i = 2 To TRows
            If Trim(Worksheets("Customers").Cells(i, 1).value) = Trim(ComboBox1.Text) Then

                ComboBox1.AddItem Worksheets("Customers").Cells(i, 2).value

                Exit For
            End If
        Next i

您可能不需要编写一行VBA代码,就可以使用数据验证、表和命名范围来完成这项工作。否则,您需要检查在
ComboBox2
中选择了什么客户ID,而您没有这样做,然后验证
Customers
表第
i行的相应单元格,以确定是否将其添加到
ComboBox1
@Mat'sMug,尽管我确实需要VBA代码,因为它是在用户表单中使用的。我有点让它工作了,但我还没有完全做到。我将代码添加到主帖子中。它只在与ComboBox1中具有相同客户ID的第一行上拾取,而应该在其中包含客户ID的每一行上拾取。你知道一个解决方案吗?删除/注释掉“退出”