根据以前选择的选项限制ListBox中的项目

时间:2016-06-17 20:58:47

标签: excel vba excel-vba

如何根据Excel UserForms中以前选择的选项限制列表框中的字段选项?

例如,我们有问题:

你想要水果或蔬菜吗?

   - Fruit
   - Vegetable

选择一个:

   - Apple
   - Orange
   - Lettuce
   - Cucumber

因此,如果他们选择水果,下一个问题/选择应该将选择限制为仅苹果和橙子。选择Fruit后,Apple和Orange是用户应该看到的唯一选择。

1 个答案:

答案 0 :(得分:1)

使用ComboBox而不是listbox会更容易。参加活动"在变化"水果和蔬菜,相应地填充另一个

Private Sub ComboBox_FruitsVegetables_Change()
ComboBox_ChoosenFruitOrVegetable.Clear
    With ComboBox_ChoosenFruitOrVegetable
    If ComboBox_FruitsVegetables.Value = "Fruit" Then ' 1. If ComboBox_FruitsVegetables.Value = "Fruit"
    .AddItem ("my fruit") 'add items per fruit
    .Value = "my fruit"
    ElseIf ComboBox_FruitsVegetables = "Vegetables" Then ' 1. If ComboBox_FruitsVegetables.Value = "Fruit"
    .AddItem ("my veggy") 'add items per veggies
    .Value = "my veggy"
    End If ' 1. If ComboBox_FruitsVegetables.Value = "Fruit"
    End With
End Sub

要将选择限制为仅由VBA添加的值,请转到ComboBox的“属性”窗口,然后选择“样式2”。 如果您有一个列表框,因为允许多个选项,请告诉我 - 我没有想到,因为文本要求"选择一个" - 。