Здравствуйте.
Во вложении пример, в котором не могу разобраться.
Кнопка вызывает процедуру Sub, в которой происходит запись в ячейке - Range("A1").
При этом есть оператор Function.
Почему после выполнения процедуры Sub, если в ней прописан Range, всегда запускается выполнение оператора Function? Возможно сделать, чтобы Function не запускался?
Написал вам два письма на почту с заголовком "Письмо с Форума по VBA и MS Office". Написал именно на почту, а не на форум.
Функция запускается потому, что функция вставлена в формулу. Формула находится в A3 и ссылается на A1.
Когда происходит изменение в A1, формула, которая находится в A3, автоматически пересчитывается. Такой принцип в Экселе и это изменить нельзя.
Единственное, можно временно отключить пересчёт формул. Но после включения формул, формула в A3 пересчитается.