Ввод последней сохраненной даты в ячейку (Microsoft Excel)
Кимберли задается вопросом, есть ли формула, которую она может использовать, чтобы поместить в ячейку дату последнего сохранения книги. Даже если она открывает книгу каждый день, она хочет, чтобы дата обновлялась каждый раз, когда она выбирает сохранение.
Для этого нет формулы; У 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.