#excel
#excel
Вопрос:
Я открываю определенную книгу Excel 2007, затем закрываю ее, не внося никаких изменений вручную, но получаю сообщение «Вы хотите сохранить… ?» диалог, по-видимому, потому, что что-то внутри него автоматически вычисляется. Я помещаю Msgbox (ThisWorkbook.Сохранено) во время события открытия рабочей книги, и оно показывает False, что действительно говорит о том, что что-то где-то меняется немедленно, но я поместил код события WorksheetChange на каждый из рабочих листов, и ни один из них не срабатывает.
Есть идеи?
Ответ №1:
Любая изменчивая функция в ячейке вызовет такое поведение. Это включает в себя такие вещи, как RAND()
TODAY()
и т.д., А также любые пользовательские функции, которые были объявлены как volatile, т. Е. Имеют объявление Application.Volatile
.
Дальнейшее чтение http://www.decisionmodels.com/calcsecretsi.htm
Комментарии:
1. Не должны ли они запускать код события WorksheetChange? Я несколько раз просматривал все ячейки, и хотя они содержат несколько довольно сложных формул, я не вижу ничего изменчивого.