Страница 1 из 1

Excel. Разбивание формулы на смысловые части.

Добавлено: 17 дек 2004, 12:15
Andruha
Доброго дня всем и удачи!
У меня возникла следующая "закавыка":
нужно получить формулу, которая может содержать ссылки, в текстовом виде (что, конечно же, не проблема), НО заменив адресное обозначение ячеек на их описание (столбец с формулами, а следующий столбец с описаниями ячеек). Иными словами, можно ли как-то получить описание работы макроса, навешенного на кнопку "ВЫЧИСЛИТЬ" с панели инструментов "Зависимости". Там как раз в окошке формулка последовательно вычисляется....
Я было попытался запихнуть формулку в массив (думал, что в массив занесется в порядке вычисления вся формула по действиям), но не получилось у меня (свойсто FormulaArray объекта Range все равно возвращает строку).
Спасибо за внимание и за потраченное на прочтение(ответ) время.

Добавлено: 21 дек 2004, 15:34
Naeel Maqsudov
Иными словами, можно ли как-то получить описание работы макроса, навешенного на кнопку "ВЫЧИСЛИТЬ" с панели инструментов "Зависимости". Там как раз в окошке формулка последовательно вычисляется....
Какая версия Excel? У меня сейчас под рукой только 97 и там такой кнопки нет. Вообще не думаю, что это мамкрос...
нужно получить формулу, которая может содержать ссылки, в текстовом виде (что, конечно же, не проблема), НО заменив адресное обозначение ячеек на их описание (столбец с формулами, а следующий столбец с описаниями ячеек).
Стандартных средств сделать это в VBA кажется нет. Возможно прийдется самостоятельно писать систаксический разбор формулы и вычленять ссылки. Причем, имейте в виду, что вместо адреса (в относительной, абсолютной или смешанной записи) может стоять еще и имя диапазона.

А можно предысторию проблемы, зачем все это надо?
А тот может можно все сделать гораздо прооще?

Добавлено: 23 дек 2004, 11:59
Andruha
Спасибо Вам за ответ. Приятно, что мой вопрос не остался без внимания.
А предыстория простая: методологам удобнее прописывать формулы, связывающие некоторые показатели, в EXCEL. А программируем эту все бодягу вообще в другой системе. И я хотел бы сразу получить эти формулы в терминах другой системы. А для этого мне и нужно было получить это формулу, так сказать, по частям.... Пользую Excel 2002.
Всем удачи!
С наступающим, друзья!

Добавлено: 23 дек 2004, 14:31
Naeel Maqsudov
Возможно, частично решит проблему использование имен.

Все необходимыые ячейки проименуйте (но это нужно до создания фоормул делать) в терминах этой самой "другой системы" (правда на имена накладываются ограничения, такие же как на обычный идентификатор). При построении формул вместо адресов будут подставлятья имена. Напрмиер, "=Цена*Количество", вместо "=А1*В1".

Добавлено: 23 дек 2004, 14:45
Andruha
Cool!
Думаю, получится. Спасиб.

Добавлено: 23 дек 2004, 14:50
Naeel Maqsudov
На всякий случай:

Быстрее всего имя присваивается в поле имени (первая клеточка в строке формул, где отображается адрес текущей ячейки). Кликкаем туда, вводим имя и жмем Enter.

Удалить имя можно во Вставка/Имя/Присвоить

Добавлено: 12 янв 2005, 15:26
Andruha
Не, дяденька Максудов. Ничего не вышло. К сожалению. При присвоении имен ячейкам, формулы как были в A1 форме, так и остались... Как-нибудь обновить их тоже не получилось. Вот...

Добавлено: 13 янв 2005, 13:32
Игорь Акопян
Существующие формулы, естественно, автоматически не будут изменены. Я так понимаю предлагалось именовать рабочие диапазоны, и задать формулы используя эти имена