Профессиональные приемы работы в Microsoft Excel

Обмен опытом => Microsoft Excel => Тема начата: fenix_63 от 13.05.2016, 11:07

Название: Задать ячейке именованый диапазон по условию
Отправлено: fenix_63 от 13.05.2016, 11:07
Всем привет. Народ, вот такой вопрос: кто-нибудь знает как программно макросом, или формулой определить тип данных ячейки? Ну т.е. определить не строка, число дата, и т.д. в ячейке, а присвоен ли ей именованный диапазон, или нет? Мне нужно макросом проверить. Если ячейка из столбца "P" листа "ЧОУ" (например) > 1 то соседней ячейке из столбца "О" присваиваем именованный диапазон, чтобы пользователь мог выбрать нужное значение. А если ячейка из столбца "Р" листа "ЧОУ"=0 или равна 1, то соседней ячейке именованный диапазон не присваиваем, а оставляем её просто пустой.

В конечном итоге при формировании суммы по расходам (лист "Отчёт по расходам") надо сделать так, чтобы пользователь выбирал статью расходов только тогда, когда подрядчик встречается в разных статьях затрат, например для "ЧОУ" - это подрядчик "РЕСУРС-91" - встречается в Связь и Аренда, соответственно на листе ЧОУ именованный диапазон надо сделать только для подрядчика "РЕСУРС-91", а остальные ячейки оставить пустыми.

Может кто знает, какая функция VBA есть для этого? Или как правильно формулу сотавить? Я сейчас формулу написал: =ЕСЛИ(P9<=1;AI9;СтатьиИнаправления), но для ячеек, где соседний столбец Р имеет значение 2 и больше Excel выдаёт ошибку #ЗНАЧ!  Подскажите, что тут можно сделать.

Документ прикрепил.
Название: Re: Задать ячейке именованый диапазон по условию
Отправлено: fenix_63 от 13.05.2016, 11:54
Забыл написать что именованный диапазон формируется динамически - по формуле