Консультация № 68571
25.12.2006, 22:31
0.00 руб.
0 2 2
Здравствуйте! На рабочем листе Excel есть много функций ( например; сумм, произв , мин, макс и тд). Можно ли узнать
какая из них в настоящий момент активна, тоесть вычисляет результат и сохранить адрес ячейки в которой
она(функция) находится в переменную.

Обсуждение

Неизвестный
25.12.2006, 23:09
общий
это ответ
Здравствуйте, Rewer8!
Все "зависимые" ячейки в книге Excel (если не выкллючено автоматическое вычисление) изменяются после внесения изменений в "влияющую" ячейку.
Активной может быть только ячейка, никак не функция, а ее адрес узнать не сложно.

При построении функций VBA, при пошаговом выполнении, после изменения "влияющей" ячейки можно определить адрес ячейки которая пересчитывается в данный момент, но это означает, что она в этот промежуток времени активна.

Удачи.
Евгений.
Неизвестный
26.12.2006, 09:56
общий
это ответ
Здравствуйте, Rewer8!
К ответу ув. Тесленко Е. А. можно добавить, что в случае использования встраиваемых функций сервисное ядро Excel исполняет все операции квазиодновременно, но по иерархии влияющих ячеек. В любом случае, как я понял, приоритет исполнения сервисного ядра выше приоритета пользовательских VBA скриптов, поэтому Вы никак не выловите "активную" функцию: сначала отработает автоматическое обновление, а потом уже - Ваш скрипт.
Форма ответа