Уважаемые профи форума, подскажите, можно ли каким либо способом обойти ограничения Excel. Ситуация такая в ячейках имеются правильно работающие формулы массива длина которых варьируется от ~500 до ~ 750 символов. Повторюсь, формулы считают правильно. Для возможности восстановления формул при необходимости, я записал их макрорекодером. Но при попытке запустить макрос выпадает ошибка Нельзя установить свойство formulaarray класса range. Если я правильно понимаю совет с темы Запись формулы массива в макросе, то у меня такая же ситуация как и у автора темы, а именно превышение длины формулы. Сократить формулу, причем более чем в 2 раза нереально. Вопрос таков: можно ли каким либо образом обойти вышеупомянутое ограничение формулы или другим способом иметь возможность восстановить формулу в ячейках длина которой превышает 255 знаков? Заранее спасибо всем откликнувшимся.
Формулы сократить действительно не реально, они содержат имена, которые в свою очередь являются формулам, так что это не вариант. А что касается хранения формулы на скрытом листе, то говоря про восстановление формул я имел ввиду следующее: ранее в файле имелось 2 листа, на 1 работают формулы и пользователь никак не может откорректировать значения (для чего эта корректировка ему может потребоваться - не моя проблема ), а на втором листе с аналогичной шапкой данные можно вставлять из листбокса как угодно. А сейчас я решил попробовать повесить вышеизложенную ситуацию на кнопку, убрав вторую страницу, т.е. оставить страницу с формулами, в случае необходимости пользователь жмет кнопку, формулы убираются, данные можно вставлять как угодно. Это разумеется сделать легко, но ведь формулы придется восстанавливать (по активации листа или по кнопке, неважно). А вот с этим восстановлением и вылезла ситуация с ограничением длины формулы массива в VBA. Если никто не предложит варианта решения ситуации, я просто наверно либо буду скрывать строки с формулами и открывать строки для свободного ввода, либо просто не буду убирать 2 страницу.
Sanja написал: отказаться от формул и перейти на макросы
Я думал об этом, но тут получается такая закавыка. Предположим я рассчитаю макросом данные, вставлю их в ячейки, но ведь данные можно будет корректировать как угодно, а вдруг пользователь по неосторожности сделает это или забудет об этом и т.д., а так в вышеизложенном моем варианте возможность корректировки включалась бы осознано и имелась бы возможность ее отмены. Если мой вопрос не имеет решения - ничего страшного, просто не будет нового варианта и все
Уважаемый The_Prist, я так понимаю для того чтобы сделать именованную формулу следует через диспетчер имен создать новое имя, а в диапазон вставить имеющуюся формулу, правильно? А вот как запустить эту формулу из VBA, например для диапазона [A10:A100], подскажите пожалуйста.
У меня аналогичная ситуация. Короткая формула (примерно 20 слов) работает, а длинная (100 и более слов) - не работает. В какой вкладке можно увеличить лимит слов в формуле?