Установка INDIRECT
Валидация выдает ошибку, если INDIRECT
не оценивает правильный диапазон во время его создания - если вы делаете это вручную, вы получаете всплывающее сообщение «Вы хотите продолжить в любом случае», но в VBA это просто не удается. Тестирование с DisplayAlerts = False
, похоже, не исправляет это.
Единственные варианты, которые я могу придумать, - это либо заполнить BD2 временным, действительным значением, либо включить диапазон «Null», включенный в оператор IF
внутри вашего INDIRECT
, например. Formula1:="=INDIRECT(IF(LEN(BD2)>0,BD2,""DropDown_Default""))"
, где DropDown_Default
- именованный диапазон, содержащий одну пустую ячейку.