Excel. Разбивание формулы на смысловые части.
Модератор: Naeel Maqsudov
Доброго дня всем и удачи!
У меня возникла следующая "закавыка":
нужно получить формулу, которая может содержать ссылки, в текстовом виде (что, конечно же, не проблема), НО заменив адресное обозначение ячеек на их описание (столбец с формулами, а следующий столбец с описаниями ячеек). Иными словами, можно ли как-то получить описание работы макроса, навешенного на кнопку "ВЫЧИСЛИТЬ" с панели инструментов "Зависимости". Там как раз в окошке формулка последовательно вычисляется....
Я было попытался запихнуть формулку в массив (думал, что в массив занесется в порядке вычисления вся формула по действиям), но не получилось у меня (свойсто FormulaArray объекта Range все равно возвращает строку).
Спасибо за внимание и за потраченное на прочтение(ответ) время.
У меня возникла следующая "закавыка":
нужно получить формулу, которая может содержать ссылки, в текстовом виде (что, конечно же, не проблема), НО заменив адресное обозначение ячеек на их описание (столбец с формулами, а следующий столбец с описаниями ячеек). Иными словами, можно ли как-то получить описание работы макроса, навешенного на кнопку "ВЫЧИСЛИТЬ" с панели инструментов "Зависимости". Там как раз в окошке формулка последовательно вычисляется....
Я было попытался запихнуть формулку в массив (думал, что в массив занесется в порядке вычисления вся формула по действиям), но не получилось у меня (свойсто FormulaArray объекта Range все равно возвращает строку).
Спасибо за внимание и за потраченное на прочтение(ответ) время.
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Какая версия Excel? У меня сейчас под рукой только 97 и там такой кнопки нет. Вообще не думаю, что это мамкрос...Иными словами, можно ли как-то получить описание работы макроса, навешенного на кнопку "ВЫЧИСЛИТЬ" с панели инструментов "Зависимости". Там как раз в окошке формулка последовательно вычисляется....
Стандартных средств сделать это в VBA кажется нет. Возможно прийдется самостоятельно писать систаксический разбор формулы и вычленять ссылки. Причем, имейте в виду, что вместо адреса (в относительной, абсолютной или смешанной записи) может стоять еще и имя диапазона.нужно получить формулу, которая может содержать ссылки, в текстовом виде (что, конечно же, не проблема), НО заменив адресное обозначение ячеек на их описание (столбец с формулами, а следующий столбец с описаниями ячеек).
А можно предысторию проблемы, зачем все это надо?
А тот может можно все сделать гораздо прооще?
Спасибо Вам за ответ. Приятно, что мой вопрос не остался без внимания.
А предыстория простая: методологам удобнее прописывать формулы, связывающие некоторые показатели, в EXCEL. А программируем эту все бодягу вообще в другой системе. И я хотел бы сразу получить эти формулы в терминах другой системы. А для этого мне и нужно было получить это формулу, так сказать, по частям.... Пользую Excel 2002.
Всем удачи!
С наступающим, друзья!
А предыстория простая: методологам удобнее прописывать формулы, связывающие некоторые показатели, в EXCEL. А программируем эту все бодягу вообще в другой системе. И я хотел бы сразу получить эти формулы в терминах другой системы. А для этого мне и нужно было получить это формулу, так сказать, по частям.... Пользую Excel 2002.
Всем удачи!
С наступающим, друзья!
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Возможно, частично решит проблему использование имен.
Все необходимыые ячейки проименуйте (но это нужно до создания фоормул делать) в терминах этой самой "другой системы" (правда на имена накладываются ограничения, такие же как на обычный идентификатор). При построении формул вместо адресов будут подставлятья имена. Напрмиер, "=Цена*Количество", вместо "=А1*В1".
Все необходимыые ячейки проименуйте (но это нужно до создания фоормул делать) в терминах этой самой "другой системы" (правда на имена накладываются ограничения, такие же как на обычный идентификатор). При построении формул вместо адресов будут подставлятья имена. Напрмиер, "=Цена*Количество", вместо "=А1*В1".
Cool!
Думаю, получится. Спасиб.
Думаю, получится. Спасиб.
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
На всякий случай:
Быстрее всего имя присваивается в поле имени (первая клеточка в строке формул, где отображается адрес текущей ячейки). Кликкаем туда, вводим имя и жмем Enter.
Удалить имя можно во Вставка/Имя/Присвоить
Быстрее всего имя присваивается в поле имени (первая клеточка в строке формул, где отображается адрес текущей ячейки). Кликкаем туда, вводим имя и жмем Enter.
Удалить имя можно во Вставка/Имя/Присвоить
Не, дяденька Максудов. Ничего не вышло. К сожалению. При присвоении имен ячейкам, формулы как были в A1 форме, так и остались... Как-нибудь обновить их тоже не получилось. Вот...
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
Существующие формулы, естественно, автоматически не будут изменены. Я так понимаю предлагалось именовать рабочие диапазоны, и задать формулы используя эти имена
