Как я уже сказал в своем комментарии, End If
не обязательно должно быть там:
If Mand Then Exit Sub
If RecEx Then Exit Sub
^ Как должен выглядеть код
В качестве альтернативы вы можете использовать:
If Mand Or RecEx Then Exit Sub
Вам также нужно убедиться, что вы устанавливаете свою функцию на True
, только если вышеприведенное верно, включая блок End If
:
Function Mand() As Boolean
If Sheets("INPUT").Range("C11") > 0 Then
MsgBox "Mandatory Fields Missing" & vbNewLine & "Changes Not Saved!"
Mand = True
End If
End Function
Function RecEx() As Boolean
dup = WorksheetFunction.CountIf(Sheets("High_Level_List").Columns(1), Sheets("INPUT").Range("C17"))
If dup > 0 Then
MsgBox "This Record Exists!!!" & vbNewLine & "If saving an update, use the Save Changes button"
RecEx = True
End If
End Function
Проблема в том, что выустанавливали RecEx
и Mand
на true в любом случае.