Тема: Помогите правильно запустить функцию на листе Excel

Как отключить автоматический расчёт пользовательской функции на листе Excell, когда эта функция уже посчитала и должна записать в указанный диапазон (заданный ей в качестве параметра) ответные данные.
Обычно если изменяется значение в диапазоне вводных данных какой-нибудь функции, то эта функция должна начать вычисления, а сдесь функция при записи ответных даных сама изменяет данные в диапазоне "вводных данных" и поэтому при повторном запуске самой себя происходит ошибка выполнения и функция поэтому не работает.
Как отключить этот повторный вызов вычисления функциецй?

Re: Помогите правильно запустить функцию на листе Excel

Господа? Кто нибудь что-то понял?

Re: Помогите правильно запустить функцию на листе Excel

Не уверен, что понял правильно, но мне кажется, что сия функция запускается как реакция на событие вроде обновления или изменения данных в ячейках листа. И сама же меняет эти данные. И вновь запускается, как следствие возникновения события.

Re: Помогите правильно запустить функцию на листе Excel

Совершено верно! Таким образом можно легко организовать например матричные вычисления на листах Excell. Но реакция на событие обновления или изменения даных в ячейках заставляет начинать работать функцию бесчисленное количество раз возрастающее в геометрической прогрессии и это мешает работе функции.
Как отключить эту не нужную в данной ситуации реакцию?

Re: Помогите правильно запустить функцию на листе Excel

Слабоват в Excel, но как понимаю, нужно либо в начале работы функции отключить эту реакцию (что кажется более правильным), либо
установить флаг, который должен проверяться на шаг раньше и если установлен, то выход из функции.

Re: Помогите правильно запустить функцию на листе Excel

VK (2004-02-18 19:48:48) прав когда советует отключать "реактор" перед началом работы функции. Но вообще-то, на сколько я понимаю, это не самый правильный алгоритм. Попробуйте найти другой.

Re: Помогите правильно запустить функцию на листе Excel

Ничего не получается. Надо чтобы функция сама разбиралась какие параметры являются вводными даными а какие для ответной информации.

Re: Помогите правильно запустить функцию на листе Excel

А не судьба совсем отказаться от "реактора" и приляпать кнопочку вроде "Пересчитать" для вызова функции? Или пусть программа, которая вносит информацию в ячейки исходных данных сама по мере необходимости вызывает сию функцию. Или это не программа правит ячейки, а чел ручками?

Re: Помогите правильно запустить функцию на листе Excel

Если функция постоянно работает в фоновом режиме, то сохрани измененные ею данные как массив и поставь проверку условия - если изменение равно данным из массива - конец процедуры (Goto - End Sub)