VBA列表框值匹配列表

我有一个用户表单,他们应该从工作表中的一个表中select一个供应商,当他们按下“ShowProducts”命令时,表单应该在下面的文本框中显示来自该供应商的所有文章。

我做了下面的代码,但它不断给我一个错误, If Suppl.Value = Me.LstB_Supplier.Value Then

我已经search并尝试了不同的选项,我发现这个和其他网站,但我似乎无法find什么错。

谁能帮我吗? 谢谢!

 Private Sub Cmd_ShowProducts_Click() Dim Suppl As Range Dim i As Integer For Each Suppl In Range("T_Prod_Fix[Supplier Name]") If Suppl.Value = Me.LstB_Supplier.Value Then With Me.LstB_Products .AddItem .List(i, 0) = Suppl.Offset(0, 1).Value 'article nbr .List(i, 1) = Suppl.Offset(0, -1).Value 'article name i = i + 1 End With End If Next Suppl End Sub 

如果需要检查另一个列表中是否存在列表框中选定的值,则需要嵌套循环。 在第一个循环中,您将获得选定的值,并在内部循环中检查是否存在于您的范围内。

例如在你的情况下:

 For lItem = 0 To ListBox1.ListCount - 1 If ListBox1.Selected(lItem) Then 'Check for selection For Each suppl In Range("T_Prod_Fix[Supplier Name]") If suppl = ListBox1(lItem) Then 'your logic End If Next suppl End If Next lItem 

相关: VBA从Excel中的电子表格上的列表框中获取值