我在ComboBox
中有两个Userform
个。
初始化Combox
后,第一个ComboBox1
- Items
会更新为Userform
,如下所示。
Private Sub UserForm_Initialize()
With ComboBox1
.AddItem "A"
.AddItem "B"
End With
End Sub
现在,一旦ComboxBox1
的值被选中,它就会更新第二个ComboBox
- ComboBox2
,如下所示 -
Private Sub ComboBox1_Change()
With ComboBox2
.Clear
.AddItem "P"
.AddItem "Q"
.AddItem "R"
End With
End Sub
更改中的ComboBox2
显示其当前值 -
Private Sub ComboBox2_Change()
MsgBox ComboBox2.Value
End Sub
现在,当我第一次从ComboBox1
中选择一个值时,会更新ComboBox2
并进一步从CombBox2
中选择一个值,我会收到{{1}的弹出消息值--- 这很好。
现在我再次从ComboBox2
中选择一个不同的值,这次我收到一条空白的弹出消息,(因为它清除了ComboBox1
内容)。
我如何处理此问题,因为我不希望ComboBox2
弹出窗口更改MsgBox
,我只想在弹出时手动选择ComboBox1
的值?< / p>
答案 0 :(得分:1)
这种情况正在发生,因为一旦ComboBox2有一个值并且您更改了ComboBox1(和.clear
组合框2 - 它会更改ComboBox2。只需将它用于combobox2 -
Private Sub ComboBox2_Change()
If ComboBox2.ListCount = 0 Then Exit Sub
MsgBox ComboBox2.Value
End Sub