Function Foo(thiscell As Range) As Boolean
Foo = thiscell.hasFormula And (InStr(1, UCase(Split(thiscell.formula, Chr(40))(0)), "bar") > 0)
End Function
Эта функция существует для проверки наличия определенной подстроки (в данном случае bar) перед (.
У меня проблемы с когда ячейка, переданная в функцию, пуста, thisCell.hasFormula имеет значение false, но оператор после и все еще оценивается. Это дает мне ошибку индекса вне допустимого диапазона во время выполнения.
Действительно ли VBA продолжает оценивать второй аргумент для And, даже если первый был ложным?