【问题标题】:Excel Combo box conditional If statement to detect blankExcel 组合框条件 If 语句检测空白
【发布时间】: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 = -1IsNull() 不起作用,列表索引给了我与上面相同的结果。所有这些都是在 excel 中使用 vba 完成的。

【问题讨论】:

  • 这可能会有所帮助:stackoverflow.com/questions/23186829/…
  • 您是否为 cbApplicationSelection 放置了任何更改事件?如果是这样,当您更改它的值时,更改事件也会被触发。
  • 是的,如果所有字段都有值并且工作正常,我有一个 else 语句。我在那里有Exit Sub,因此不会触发 cbApplicationSelection 的更改事件。
  • 这确实有帮助并解释了很多。它建议我让组合框从我所做的数组中生成,但我仍然遇到同样的问题
  • 好的,我明白 sktneer 的意思了。当我查看它时,我取出了 cbApplicationSelection 行,它按预期显示了一次。

标签: excel vba if-statement combobox conditional


【解决方案1】:

您是否为 cbApplicationSelection 放置了任何更改事件?如果是这样,当您更改它的值时,更改事件也会被触发。

Private Sub cbApplicationSelection_Change()
   If eMassWelcome.cbwesitechoose.text = "" Then
   MsgBox "A website has not been selected. Please select a website from the dropdown and try again."
   End If
 Exit Sub
End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-12
    • 1970-01-01
    相关资源
    最近更新 更多