vba, outlook, пользовательская форма, если comebox и текстовые поля

У меня есть пользовательская форма с 1 полем со списком и несколькими текстовыми полями. Поле со списком 1 = тип приложения (7 разных результатов) Текстовое поле, такое как имя, фамилия, город, почтовый индекс и т. д.

После нажатия кнопки «ОК» я хотел бы сообщить пользователю, отсутствует ли обязательное поле.

Обязательным полем для 1 выбора является поле 1, поле 2 и поле 3 для выбора 2 только поле 1 и 2 для выбора 3 только поле 6 и т.д.

Странно то, что если я выберу что-то, что я не определил в этом подразделе, я выбираю значение 4 или 5, я все равно получаю сообщение. Что я пропустил?

Private Sub CommandButton1_Click()

If UserForm2.ComboBox1T.Value = "1.New Application" _
And TextBox1.Text = "" _
Or TextBox2.Text = "" _
Or TextBox3.Text = "" _
Then
MsgBox ("Fill in all mandatory Fields")


Exit Sub
End If


If UserForm2.ComboBox1T.Value = "2.Old Application" _
And TextBox1.Text = "" _
Or TextBox2.Text = "" _
Then
MsgBox ("Fill in all mandatory Fields")

Exit Sub
End If

If UserForm2.ComboBox1T.Value = "3.Somethingelse" _
And TextBox1.Text = "" _
Or TextBox2.Text = "" _
Then
MsgBox ("Fill in all mandatory Fields")


Exit Sub
End If

person folkstorm    schedule 24.05.2017    source источник
comment
Ааа, я знаю, чего тебе не хватает. Вам не хватает этого для тех, кто бережет свои ценные время ответить на ваши вопросы.   -  person Tehscript    schedule 25.05.2017
comment
Моя ошибка, все в порядке. Я только начал со stackoverflow и не был уверен, как все работает.   -  person folkstorm    schedule 25.05.2017


Ответы (1)


Решение найдено.

 With Me 
   Select Case .ComboBox1T 
  Case "1.New Application" 
    If .TB1 = "" Or .TB2 = "" Or .TB3 = ""  Then MsgBox ("Something")

  Case "2.old Application" 
    If .TB1 = "" Or .TB2 = "" Then MsgBox ("Something")

Case "3.Other Application" 
    If ........

Case "4." 
Case "5." 
Case "6." 
Case "7." 


End Select 
End With 
person folkstorm    schedule 25.05.2017