如何根据Excel UserForms中以前选择的选项限制列表框中的字段选项?
例如,我们有问题:
你想要水果或蔬菜吗?
- Fruit
- Vegetable
选择一个:
- Apple
- Orange
- Lettuce
- Cucumber
因此,如果他们选择水果,下一个问题/选择应该将选择限制为仅苹果和橙子。选择Fruit后,Apple和Orange是用户应该看到的唯一选择。
答案 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”。 如果您有一个列表框,因为允许多个选项,请告诉我 - 我没有想到,因为文本要求"选择一个" - 。