Я пытаюсь определить, было ли это между 12:00 и 1:00.Вот мое утверждение if:
If InStr(Time,"12") AND InStr(Time,"AM") Then
' Do something
Else
' Do something else
End If
Проблема в том, что это утверждение оценивается как ложное, даже если оба условия выполняются.Я знаю это, потому что я попробовал вложенный, если это так
If InStr(Time,"12") Then
If InStr(Time,"AM") Then
' Do something
...
И это работает.Это также работает
If InStr(Time,"12")<>0 AND InStr(Time,"AM")<>0 Then
' Do something
...
Но если это работает как вложенный if, почему я не могу проверить оба вложенных условия if в одном операторе if?
Я заменил вызовы функций InStr значениями, которые они возвращают
If 1 AND 10 Then
' Do something
Else
' Do something else
End If
И произошло то же самое: вместо этого выполнялся оператор if, и вместо этого выполнялись команды «Сделать что-то еще»,Но когда я вложил второе условие как другое условие if внутри первого оператора if, были выполнены команды «Сделать что-то».
Почему это так, и есть ли способ сделать это без <> 0 и безвложенности