Excel VBA Макросы. Почему после выполнения Sub, запускается Function?

Автор Посетитель 16.12.2024, 16 декабря 2024, 06:38

Посетитель 16.12.2024

Здравствуйте.
Во вложении пример, в котором не могу разобраться.
Кнопка вызывает процедуру Sub, в которой происходит запись в ячейке - Range("A1").
При этом есть оператор Function.
Почему после выполнения процедуры Sub, если в ней прописан Range, всегда запускается выполнение оператора Function? Возможно сделать, чтобы Function не запускался?

Администратор

Написал вам два письма на почту с заголовком "Письмо с Форума по VBA и MS Office". Написал именно на почту, а не на форум.

Функция запускается потому, что функция вставлена в формулу. Формула находится в A3 и ссылается на A1.
Когда происходит изменение в A1, формула, которая находится в A3, автоматически пересчитывается. Такой принцип в Экселе и это изменить нельзя.

Единственное, можно временно отключить пересчёт формул. Но после включения формул, формула в A3 пересчитается.