【发布时间】:2017-08-29 22:34:01
【问题描述】:
我正在编写一个 If 语句来测试我是否在两个组合框中选择了一个选项。被选中的组合框是从具有两个值的数组生成的。其中一个单元格是空白的,因此组合框中的顶部值是空白的。
我的 if 语句是
数组是
Private Sub cbApplicationSelection_Change()
If (eMassWelcome.cbwesitechoose.text = "") Then
eMassWelcome.cbApplicationSelection.text = ""
MsgBox "A website has not been selected. Please select a website from the dropdown and try again."
End If
Exit Sub
End Sub
这行得通。
问题是弹出窗口出现了 3 次,我不知道为什么。我试过IsNull() 和listindex = -1。 IsNull() 不起作用,列表索引给了我与上面相同的结果。所有这些都是在 excel 中使用 vba 完成的。
【问题讨论】:
-
您是否为 cbApplicationSelection 放置了任何更改事件?如果是这样,当您更改它的值时,更改事件也会被触发。
-
是的,如果所有字段都有值并且工作正常,我有一个 else 语句。我在那里有
Exit Sub,因此不会触发 cbApplicationSelection 的更改事件。 -
这确实有帮助并解释了很多。它建议我让组合框从我所做的数组中生成,但我仍然遇到同样的问题
-
好的,我明白 sktneer 的意思了。当我查看它时,我取出了 cbApplicationSelection 行,它按预期显示了一次。
标签: excel vba if-statement combobox conditional