Страницы: 1
RSS
VBA: три функции If соединить в одну
 
Добрый день. Подскажите пожалуйста по как соеденить в одну формулу 3 формули ниже? Так как они написаны в коде ниже не работает. Ошибка : End If without block If
Код
1) If TextBox3 = "" - "" Then Cells(10, 7) = Empty Else Cells(10, 7) = Date
        End If



2) If ComboBox1 = "Pre-payment" Then Cells(8, 13) = Empty Else Cells(8, 13) = Date
    End If

  3) If .Range("G3") = Empty Or ComboBox4 = Empty Or TextBox3 = Empty Or TextBox1 = Empty Or TextBox6 = Empty Or TextBox4 = Empty Or ComboBox9 = Empty Or ComboBox8 = Empty Or TextBox5 = Empty Or ComboBox1 = Empty Or ComboBox3 = Empty Or ComboBox10 = Empty Then
    
        MsgBox "Заповніть, будь ласка, всі поля в Payment Request", vbCritical + vbOKOnly
        Exit Sub
    Else
     Cells(3, 13) = TextBox4.Value & "  " & ComboBox9.Text
End If
 
AlexBosenko, здравия. Если пишите "Если" в одну строку, но "Конец Если" не нужен.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
В таком случае ошибка Type mismatch
Код
1) If TextBox3 = "" - "" Then Cells(10, 7) = Empty Else Cells(10, 7) = Date 
 
 
 
2) If ComboBox1 = "Pre-payment" Then Cells(8, 13) = Empty Else Cells(8, 13) = Date
    
 
  3) If .Range("G3") = Empty Or ComboBox4 = Empty Or TextBox3 = Empty Or TextBox1 = Empty Or TextBox6 = Empty Or TextBox4 = Empty Or ComboBox9 = Empty Or ComboBox8 = Empty Or TextBox5 = Empty Or ComboBox1 = Empty Or ComboBox3 = Empty Or ComboBox10 = Empty Then
     
        MsgBox "Заповніть, будь ласка, всі поля в Payment Request", vbCritical + vbOKOnly
        Exit Sub
    Else
     Cells(3, 13) = TextBox4.Value & "  " & ComboBox9.Text
End If
 
AlexBosenko, мне трудно что-то сказать по огрызку кода. Приложите файл-пример, как в правилах написано, и комментариями обозначьте проблемную часть кода.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Код
If TextBox3 = "" - "" Then Cells(10, 7) = Empty Else: Cells(10, 7) = Date
If ComboBox1 = "Pre-payment" Then Cells(8, 13) = Empty Else: Cells(8, 13) = Date
If Range("G3") = Empty Or _
    ComboBox4 = Empty Or _
    TextBox3 = Empty Or _
    TextBox1 = Empty Or _
    TextBox6 = Empty Or _
    TextBox4 = Empty Or _
    ComboBox9 = Empty Or _
    ComboBox8 = Empty Or _
    TextBox5 = Empty Or _
    ComboBox1 = Empty Or _
    ComboBox3 = Empty Or _
    ComboBox10 = Empty Then
    MsgBox "Заповніть, будь ласка, всі поля в Payment Request", vbCritical + vbOKOnly
    Exit Sub
Else
    Cells(3, 13) = TextBox4.Value & "  " & ComboBox9.Text
End If
Изменено: Caho - 21.04.2017 16:45:53
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
Страницы: 1
Читают тему
Наверх