Кимберли задается вопросом, есть ли формула, которую она может использовать, чтобы поместить в ячейку дату последнего сохранения книги. Даже если она открывает книгу каждый день, она хочет, чтобы дата обновлялась каждый раз, когда она выбирает сохранение.

Для этого нет формулы; У Excel нет встроенных возможностей. Однако вы можете создать простой макрос, который будет вставлять значение даты в ячейку при каждом сохранении книги. Это основано на событии BeforeSave, которое принадлежит объекту ThisWorkbook:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _   Cancel As Boolean)



Sheets(1).Range("A1").Value = Now()

End Sub

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

Следует отметить, что Excel также включает событие AfterSave, которое вы можете использовать для обновления информации. К сожалению, в нем тоже есть несколько лазеек, и он не предлагает ничего более надежного, чем событие BeforeSave.

При желании вы можете использовать немного другой подход, основанный на макросах.

В этом случае используется обычный макрос, а не обработчик событий:

Function LastModified() As Date     Application.Volatile     LastModified = ThisWorkbook.BuiltinDocumentProperties("Last Save Time")

End Function

В любой ячейке, в которой должна отображаться дата, вы должны вызвать макрос следующим образом:

=LastModified()

Формула возвращает дату и время последнего сохранения книги, и вы можете отформатировать ее как угодно. Поскольку функция помечена как изменчивая, она постоянно обновляется при каждом пересчете рабочего листа.

_Примечание: _

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

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (13575) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365.