2017-04-04 3 views
1

2つのコンボボックスでオプションが選択されているかどうかをテストするIf文を作成しています。チェックされているコンボボックスは2つの値を持つ配列から生成されます。これらのセルの1つは空白なので、コンボボックスの先頭の値は空白です。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 = -1を試しました。 IsNull()が機能せず、リストインデックスが私に上記と同じ結果をもたらしました。これはすべて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