Мне нужно знать, что вызывает диалог Excel «Вы хотите сохранить …»

#excel

#excel

Вопрос:

Я открываю определенную книгу Excel 2007, затем закрываю ее, не внося никаких изменений вручную, но получаю сообщение «Вы хотите сохранить… ?» диалог, по-видимому, потому, что что-то внутри него автоматически вычисляется. Я помещаю Msgbox (ThisWorkbook.Сохранено) во время события открытия рабочей книги, и оно показывает False, что действительно говорит о том, что что-то где-то меняется немедленно, но я поместил код события WorksheetChange на каждый из рабочих листов, и ни один из них не срабатывает.

Есть идеи?

Ответ №1:

Любая изменчивая функция в ячейке вызовет такое поведение. Это включает в себя такие вещи, как RAND() TODAY() и т.д., А также любые пользовательские функции, которые были объявлены как volatile, т. Е. Имеют объявление Application.Volatile .

Дальнейшее чтение http://www.decisionmodels.com/calcsecretsi.htm

Комментарии:

1. Не должны ли они запускать код события WorksheetChange? Я несколько раз просматривал все ячейки, и хотя они содержат несколько довольно сложных формул, я не вижу ничего изменчивого.