"Технически должно работать"? Что дает вам такую идею? Вы передаете строку функции, ожидающей диапазон - нет «технически», это просто не работает, поскольку вы используете неправильный тип переменной.
Есть причина, по которой работает первый пример. В VBA вы set
диапазоны, и это то, что делает in.
Во втором примере вы используете строку, когда функция ожидает диапазон, который просто не может работать. Функция Max
в электронной таблице не будет работать со строковым вводом - нет причин, по которым это должно происходить в VBA.
Позвольте мне сформулировать это так:
введите описание изображения здесь
Ваш второй код был эквивалентом формулы в E1, которая возвращает 0. То, что вы ищете, это формула в E2, которая возвращает 4.