2017-04-04 32 views
1

我正在寫一個If語句來測試我是否在兩個組合框中選擇了一個選項。正在檢查的組合框由具有兩個值的數組生成。其中一個單元格爲空白,因此組合框中的最大值爲空白。Excel組合框條件如果語句檢測空白

我的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完成的。

+0

這可能會有所幫助:http://stackoverflow.com/questions/23186829/why-is-a-excel-vba-combobox-change-event-triggering-every-time-one-of-its -prop –

+0

您是否爲cbApplicationSelection放置了任何更改事件?如果是這樣,當你改變它的價值時,改變事件也將被觸發。 – sktneer

+0

是的,我有一個else語句,如果所有字段都有值,並且工作正常。我在那裏有'Exit Sub',因此cbApplicationSelection的更改事件不會被觸發。 – ShanayL

回答

0

您是否爲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