【发布时间】:2014-01-21 20:31:23
【问题描述】:
我有一个包含 3 个值并启用了多选选项的列表框。根据选择的值,我想通过引用 excel 表中的某些范围来填充组合框。如果从列表框中仅选择一个值,则以下代码有效。我知道它不适用于多项选择,但我无法编写代码来循环选择列表,然后将相应的范围添加到组合框。
所以,如果我选择 customer1 和 customer2,我希望在组合框中填充范围 d3:d34 和 c4:c24 中的值。其他组合也类似。但是,如果未选择其中一个值,则应从组合框中清除相应的值。
如果我要将列表框中的所有选定项目保存在一个数组中,我如何对存储在数组中的每个值进行“搜索”或“查找”?
请建议我如何修改此代码。
谢谢!
Private Sub Combobox1_DropButtonClick()
Dim curSelected As String
Dim i As Integer
For i = 0 To Listbox1.ListCount - 1
If Listbox1.Selected(i) Then
curSelected = Listbox1.List(i)
If curSelected = "customer1" Then
ChooseDeals.List = Sheets("Sheet3").Range("d4:d34").Value
ElseIf curSelected = "customer2" Then
ChooseDeals.List = Sheets("Sheet3").Range("c4:c24").Value
ElseIf curSelected = "customer3" Then
ChooseDeals.List = Sheets("Sheet3").Range("e4:e20").Value
End If
End If
Next i
End Sub
【问题讨论】:
标签: excel vba combobox listbox multi-select