我有组合框,我选择名称约翰。我需要插入所有可以将约翰卖给另一个组合框的物品。这些项目存储在工作表中,其中第一列是推销员的名称,第二列是商品,可以由销售人员销售:
A B
John Tires
John Auto parts
John Body kits
John Rims
Alex Tires
Alex Spoilers
我在 combo1 中选择了John
,我想将B列中的所有项目(轮胎,汽车零件,车身套件和轮辋)放入 combo2 ,其中名称John
写在A列中。
我已经有了代码,它将销售人员添加到第一个组合中:
Private Sub UserForm_Initialize()
Dim cLoc As Range
Dim ws As Worksheet
Set ws = Worksheets("seller")
For Each cLoc In ws.Range("SellerTable")
With Addinvoice.SellerCombo
.AddItem cLoc.Value
End With
Next cLoc
End Sub
如果可能,存储销售权的表应该是动态的,因此可以通过新的行表添加任何人或销售权限。与卖家名称相同 - 现在我有SellerTable范围,但是当我需要添加或删除销售员时,这个解决方案并不好。
答案 0 :(得分:0)
好的,这里使用了命名范围。设置工作表如下所示:
然后使用以下代码:
Private Sub ComboBox1_Change()
Select Case Me.ComboBox1
Case "John": Me.ComboBox2.RowSource = "John"
Case "Ales": Me.ComboBox2.RowSource = "Alex"
End Select
End Sub
Private Sub UserForm_Initialize()
Me.ComboBox1.AddItem "John"
Me.ComboBox1.AddItem "Alex"
End Sub
这只是一个想法。您必须稍微清理它并处理潜在的错误。 HTH。
<强>结果:强>