Формула в excel дата сохранения

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

Вставьте последнюю сохраненную метку времени на лист с пользовательской функцией
Легко вставьте последнюю сохраненную метку времени на лист с помощью Kutools for Excel


Вставьте последнюю сохраненную метку времени на лист с пользовательской функцией

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

1. Нажмите другой + F11 клавиши одновременно, чтобы открыть Microsoft Visual Basic для приложений окно.

2. в Microsoft Visual Basic для приложений окна, нажмите Вставить > Модули. Затем скопируйте и вставьте следующий код VBA в окно кода.

Код VBA: вставьте последнюю сохраненную метку времени на лист

Function LastSavedTimeStamp() As Date
  LastSavedTimeStamp = ActiveWorkbook.BuiltinDocumentProperties("Last Save Time")
End Function

3. Нажмите другой + Q ключи, чтобы закрыть Microsoft Visual Basic для приложений окно и вернитесь к рабочему листу.

4. Выберите пустую ячейку, в которой будет отображаться последняя сохраненная метка времени книги, введите формулу. = LastSavedTimeStamp () и нажмите Enter нажмите клавишу, и отобразится номер.

5. Затем вам нужно отформатировать числовую ячейку как формат даты и времени, как показано на скриншоте ниже.

дата последнего сохранения документа 1

Теперь в выбранной ячейке отображается последняя сохраненная метка времени.

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


Легко вставьте последнюю сохраненную метку времени на лист с помощью Kutools for Excel

Наблюдения и советы этой статьи мы подготовили на основании опыта команды Вставить информацию о книге полезности Kutools for Excel поможет вам быстро вставить последнюю сохраненную или измененную метку времени не только в указанную ячейку, но и в верхний или нижний колонтитул по мере необходимости.

1. Выберите пустую ячейку для отображения последней сохраненной метки времени, затем щелкните Кутулс Плюс > Workbook > Вставить информацию о книге. Смотрите скриншот:

2. в Вставить информацию о книге в диалоговом окне выберите Дата изменена вариант в Информация раздел, затем выберите нужный вариант в Вставить в (в данном случае я выбираю вариант диапазона) и, наконец, щелкаю OK кнопку.

дата последнего сохранения документа 1

Затем на листе отображается последняя сохраненная метка времени.

Внимание: Если вам нужно вставить последнюю сохраненную метку времени в верхний или нижний колонтитул текущего рабочего листа, выберите заголовок or нижний колонтитул опцию.

  Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.


Легко вставьте последнюю сохраненную метку времени на лист с помощью Kutools for Excel


Статьи по теме:

  • Как получить и вставить последнее измененное имя пользователя в Excel?
  • Как распечатать имя листа или список имен листов в Excel?

Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (11)


Оценок пока нет. Оцените первым!

 

aka.andrew

Пользователь

Сообщений: 26
Регистрация: 29.05.2017

В шаблоне книги есть формула =СЕГОДНЯ. После сохранения мне нужно через несколько дней вернуться в файл для редактирования, но чтобы дата осталось той, когда он был сохранен.

 

Alemox

Пользователь

Сообщений: 2183
Регистрация: 25.02.2013

Перед сохранением файла надо скопировать эту ячейку и вставить в эту же ячейку как данные (123).

Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.

 

aka.andrew

Пользователь

Сообщений: 26
Регистрация: 29.05.2017

Alemox, я это понимаю. Я спрашивал как это можно делать автоматически (формулой/макросом) ?? чтобы не заниматься этими вставками вручную…

 

Юрий М

Модератор

Сообщений: 60588
Регистрация: 14.09.2012

Контакты см. в профиле

aka.andrew, у Вас две практически одинаковых темы.

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Ограничение заданной датой:
=МИН(СЕГОДНЯ();—«31.05.17»)

 

aka.andrew

Пользователь

Сообщений: 26
Регистрация: 29.05.2017

vikttur, не совсем понятно, в формуле дату 31.05.2017 вручную нужно прописывать??
т.е. если завтра дата будет 01.06.2017 то и в формуле вручную писать??

 

JayBhagavan

Пользователь

Сообщений: 11833
Регистрация: 17.01.2014

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

#7

31.05.2017 15:43:46

Цитата
aka.andrew написал: как это можно делать автоматически

По какому событию макрос должен в книге фиксировать дату?

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

aka.andrew

Пользователь

Сообщений: 26
Регистрация: 29.05.2017

JayBhagavan, не совсем понимаю вопрос.
Нужно чтобы Дата (=СЕГОДНЯ) которая автоматически проставляется в ячейке, после открытия на следующий день не менялась.
Другими словами, я сформировал счет-фактуру с сегодняшней датой. Через некоторое время мне нужно внести изменения в этой с/ф, но при открытии файла дата согласно формуле автоматически меняется на сегодняшнюю, а нужно чтобы осталась старая.

 

JayBhagavan

Пользователь

Сообщений: 11833
Регистрация: 17.01.2014

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

aka.andrew, я не понимаю зачем Вам формула СЕГОДНЯ()? Почему просто не поставить текущую дату? Тем более, если Вы не можете сказать когда СЕГОДНЯ() заменить на значение, то Вам никто не поможет. Задача Ваша и Вам в неё вникать. Наше дело помочь в решении конкретного вопроса, а не сделать всё за Вас. Тут не джины, а люди. :)

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

#10

31.05.2017 16:14:52

Цитата
aka.andrew написал:  то и в формуле вручную писать?

Да, я лишь показал Вам вариант. По другому формулой не сделать.

 

Юрий М

Модератор

Сообщений: 60588
Регистрация: 14.09.2012

Контакты см. в профиле

aka.andrew, ответ на Ваш вопрос дан в другой Вашей теме — макросом это нужно делать.
Зачем вообще две практически одинаковых темы? В одной нужно заменить результат формулы ВПР на значения, а в этой вместо ВПР просите для СЕГОДНЯ.
В обоих случаях нужно менять формулу на значение. И без разницы, какая формула.

 

aka.andrew

Пользователь

Сообщений: 26
Регистрация: 29.05.2017

#12

31.05.2017 16:22:14

Цитата
JayBhagavan написал:
aka.andrew , я не понимаю зачем Вам формула СЕГОДНЯ()? Почему просто не поставить текущую дату?

ну так текущая же дата также будет изменяться при повторном открытии файла в другой день??

 

JayBhagavan

Пользователь

Сообщений: 11833
Регистрация: 17.01.2014

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

#13

31.05.2017 16:24:03

Цитата
aka.andrew написал: ну так текущая же дата также будет изменяться при повторном открытии файла в другой день??

Моя выдержка исчерпана. Ушёл из темы.

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

Юрий М

Модератор

Сообщений: 60588
Регистрация: 14.09.2012

Контакты см. в профиле

#14

31.05.2017 16:30:02

Цитата
aka.andrew написал:
так текущая же дата также будет изменяться при повторном открытии файла в другой день??

Если Вы введёте эту дату вручную, а не формулой (о чём Вам и говорили в #9), то почему она должна измениться?
И ещё раз: обратите внимание на мой #11 — зачем две одинаковых по сути темы?

 

aka.andrew

Пользователь

Сообщений: 26
Регистрация: 29.05.2017

Юрий М, создал т.к. немного не понял вашей претензии относительно нескольких вопросов в теме. учту.
про дату я понимаю, что если я введу ее вручную, она не изменится. но суть в том, что я хочу чтобы дата автоматически проставлялась когда создаешь счет—фактуру. а когда ее в дальнейшем редактируешь (в др день), она не менялась

 

Юрий М

Модератор

Сообщений: 60588
Регистрация: 14.09.2012

Контакты см. в профиле

#16

31.05.2017 20:57:51

Цитата
aka.andrew написал:
я хочу чтобы дата автоматически проставлялась когда создаешь счет—фактуру.

Вы пробовали записать макрос сохранения значений?

 

RAN

Пользователь

Сообщений: 7091
Регистрация: 21.12.2012

aka.andrew, Функция СЕГОДНЯ() на то и существует, чтобы показывать СЕГОДНЯ, а не вчера. И она каждый день будет именно СЕГОДНЯ. И никто, и ничто, вам тут не поможет, если вы не откажетесь от ее использования.

 

kuklp

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

#18

31.05.2017 21:51:10

aka.andrew, але, дружище — исчерпывающий ответ был в посте №2 темы.

Цитата
Alemox написал:
еред сохранением файла надо скопировать эту ячейку и вставить в эту же ячейку как данные (123).

Что неясно? Делается это макросом по событию сохранения или закрытия книги. КОТОРУЮ ВЫ НАМ НЕ ПОКАЗЫВАЕТЕ!

Я сам — дурнее всякого примера! …

Ячейка содержит дату последнего сохранения

Ivav

Дата: Суббота, 09.06.2012, 04:43 |
Сообщение № 1

Группа: Пользователи

Ранг: Новичок

Сообщений: 33


Репутация:

0

±

Замечаний:
0% ±


Всем доброго времени суток,

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

 

Ответить

Jhonson

Дата: Суббота, 09.06.2012, 07:47 |
Сообщение № 2

Группа: Друзья

Ранг: Ветеран

Сообщений: 514

В модуль «Эта Книга»:
[vba]

Code

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
On Error Resume Next
Range(«A1») = ThisWorkbook.BuiltinDocumentProperties(«Last Save Time»)
End Sub

[/vba]


«Ничто не приносит людям столько неприятностей, как разум.»

Сообщение отредактировал JhonsonСуббота, 09.06.2012, 07:47

 

Ответить

Ivav

Дата: Суббота, 09.06.2012, 08:25 |
Сообщение № 3

Группа: Пользователи

Ранг: Новичок

Сообщений: 33


Репутация:

0

±

Замечаний:
0% ±


Спасибо, все заработало!
hands

 

Ответить

Формуляр

Дата: Суббота, 09.06.2012, 14:10 |
Сообщение № 4

Группа: Друзья

Ранг: Ветеран

Сообщений: 832


Репутация:

255

±

Замечаний:
0% ±


Excel 2003, 2013

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


Excel 2003 EN, 2013 EN

 

Ответить

Jhonson

Дата: Суббота, 09.06.2012, 15:14 |
Сообщение № 5

Группа: Друзья

Ранг: Ветеран

Сообщений: 514

Quote (Формуляр)

предпоследнего сохранения

Это как?


«Ничто не приносит людям столько неприятностей, как разум.»

 

Ответить

Формуляр

Дата: Суббота, 09.06.2012, 15:58 |
Сообщение № 6

Группа: Друзья

Ранг: Ветеран

Сообщений: 832


Репутация:

255

±

Замечаний:
0% ±


Excel 2003, 2013


Процедура (теоретически, сам не проверял) активируется перед сохранением и пишет дату предыдущего сохранения, т.е. предпоследнего.


Excel 2003 EN, 2013 EN

 

Ответить

Jhonson

Дата: Суббота, 09.06.2012, 16:10 |
Сообщение № 7

Группа: Друзья

Ранг: Ветеран

Сообщений: 514

Хм.. согласен, сначала выполняется процедура по событию, а уж потом само событие.
Так правильнее:
[vba]

Code

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  Range(«A1») = Now()
End Sub

[/vba]


«Ничто не приносит людям столько неприятностей, как разум.»

Сообщение отредактировал JhonsonСуббота, 09.06.2012, 16:14

 

Ответить

Ivav

Дата: Четверг, 14.06.2012, 11:15 |
Сообщение № 8

Группа: Пользователи

Ранг: Новичок

Сообщений: 33


Репутация:

0

±

Замечаний:
0% ±


А если книга состоит из нескольких листов, как применить это правило только к конкретному листу?

Сообщение отредактировал IvavЧетверг, 14.06.2012, 11:15

 

Ответить

Формуляр

Дата: Четверг, 14.06.2012, 13:37 |
Сообщение № 9

Группа: Друзья

Ранг: Ветеран

Сообщений: 832


Репутация:

255

±

Замечаний:
0% ±


Excel 2003, 2013

Quote (Ivav)

А если книга состоит из нескольких листов, как применить это правило только к конкретному листу?

Указать лист в адресе ячейки.


Excel 2003 EN, 2013 EN

 

Ответить

как в ячейке (или в 2разных ячейках) excell хранить дату и время изменения файла (те что в свойствах файла)?
Нужно для решения проблемы — при работе с данными экселя в другом файле (сводн.табл.) — видеть дату последнего сохранения исходного файла. Чайник я в этом… не могу докопаться… вроде все перепробовал… Помогите!

6 ответов

275

03 ноября 2005 года

pashulka

985 / / 19.09.2004

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

Код:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Worksheets(1).Range(«A1»).Value = Now ‘Now()
End Sub

Примечание : Разместить этот событие необходимо в модуле ThisWorkbook(ЭтаКнига) нужной рабочей книги.

405

03 ноября 2005 года

Dmitrii

554 / / 16.12.2004

Цитата:

Originally posted by ЖКа
как в ячейке (или в 2разных ячейках) excell хранить дату и время изменения файла (те что в свойствах файла)?
Нужно для решения проблемы — при работе с данными экселя в другом файле (сводн.табл.) — видеть дату последнего сохранения исходного файла. Чайник я в этом… не могу докопаться… вроде все перепробовал… Помогите!

Можете также воспользоваться для этого средствами VBS. Вот пример:

Код:

Function ShowFileModifiedInfo(ByVal fileSpec As String) As String
Dim myFSO As Object, myFile As Object
Set myFSO = CreateObject(«Scripting.FileSystemObject»)
If (myFSO.FileExists(fileSpec)) Then
    Set myFile = myFSO.GetFile(fileSpec)
    ShowFileModifiedInfo = myFile.DateLastModified
Else
    ShowFileModifiedInfo = «Файл » & UCase(fileSpec) & » не найден.»
End If
End Function

Sub Test()
Dim timeModif As String
Const testFile = «c:tempbook.xls»
timeModif = ShowFileModifiedInfo(testFile)
MsgBox timeModif
End Sub

Такой способ избавляет от необходимости хранить нужные Вам значения в книге. Вы всегда сможете определить их «на лету».

275

11 ноября 2005 года

pashulka

985 / / 19.09.2004

Средствами VBA, также можно «на лету» определять дату и время последнего сохранения файла, например :

Код:

iFileDateTime = FileDateTime(ThisWorkbook.FullName)

iFileDateTime = FileDateTime(ActiveWorkbook.FullName)

iFileDateTime = FileDateTime(«C:ArchiveTemp.xls»)

305

12 ноября 2005 года

Kashuk

385 / / 21.02.2003

Цитата:

Originally posted by pashulka
Средствами VBA, также можно «на лету» определять дату и время последнего сохранения файла, например :

Код:

iFileDateTime = FileDateTime(ThisWorkbook.FullName)

iFileDateTime = FileDateTime(ActiveWorkbook.FullName)

iFileDateTime = FileDateTime(«C:ArchiveTemp.xls»)

А как это можно применить в ворде? Как «ThisWorkbook.FullName» заменить на текущий документ ворда?

305

12 ноября 2005 года

Kashuk

385 / / 21.02.2003

Цитата:

Originally posted by pashulka
Средствами VBA, также можно «на лету» определять дату и время последнего сохранения файла, например :

Код:

iFileDateTime = FileDateTime(ThisWorkbook.FullName)

iFileDateTime = FileDateTime(ActiveWorkbook.FullName)

iFileDateTime = FileDateTime(«C:ArchiveTemp.xls»)

А как это можно применить в ворде? Как «ThisWorkbook.FullName» заменить на текущий документ ворда?

275

12 ноября 2005 года

pashulka

985 / / 19.09.2004

Код:

iFileDateTime = FileDateTime(ThisDocument.FullName) ‘ActiveDocument

Примечание : Только документ должен быть сохранён, иначе Вы получите ошибку.

кто-нибудь знает, как отобразить последнюю сохраненную дату электронной таблицы Excel на одном из листов?

Я нашел способы сделать это с помощью макросов, но электронная таблица заполняется надстройкой под названием Jet Essentials, и это не нравится макросы, поэтому решение здесь не должно использовать один.

4 ответов


думал, что я обновлю об этом.

выяснил, что добавление в модуль VB за электронной таблицей фактически не регистрируется как макрос.

Итак, вот решение:

  1. Нажмите ALT + F11
  2. Нажать «Вставить» > Модуль
  3. вставьте в окно следующее:

код

Function LastSavedTimeStamp() As Date
  LastSavedTimeStamp = ActiveWorkbook.BuiltinDocumentProperties("Last Save Time")
End Function
  1. сохраните модуль, закройте редактор и вернитесь на рабочий лист.
  2. Нажмите в Ячейка, в которой должна отображаться дата, и введите следующую формулу:

код

=LastSavedTimeStamp()

может быть, этот штамп времени подходит вам лучше
Код

Function LastInputTimeStamp() As Date
  LastInputTimeStamp = Now()
End Function

и каждый раз, когда вы вводите данные в определенную ячейку (в моем примере ниже это ячейка C36), вы получите новую постоянную отметку времени.
В качестве примера в Excel файл может использовать это

=IF(C36>0,LastInputTimeStamp(),"")

Это может быть альтернативным решением. Вставьте следующий код в новый блок:

Public Function ModDate()
ModDate = 
Format(FileDateTime(ThisWorkbook.FullName), "m/d/yy h:n ampm") 
End Function

перед сохранением модуля обязательно сохраните файл Excel как книгу с поддержкой макросов Excel.

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

=ModDate()

Я также хотел бы порекомендовать альтернативу Excel, позволяющую легко добавлять время создания и последней модификации. Не стесняйтесь проверить RowShare и эту статью я написал: https://www.rowshare.com/blog/en/2018/01/10/Displaying-Last-Modification-Time-in-Excel


нет встроенной функции с этой возможностью. Закрытие будет заключаться в сохранении файла в папке с именем текущей даты и использовании функции =INFO(«directory»).


Понравилась статья? Поделить с друзьями:
  • Формула в excel дата не на выходные
  • Формула в excel да или нет с комментариями
  • Формула в excel график работы
  • Формула в excel вычисление месяца года
  • Формула в excel вытащить часть текста