Дата создания листа в excel

ГЛАВНАЯ

ТРЕНИНГИ

   Быстрый старт
   Расширенный Excel
   Мастер Формул
   Прогнозирование
   Визуализация
   Макросы на VBA

КНИГИ

   Готовые решения
   Мастер Формул
   Скульптор данных

ВИДЕОУРОКИ

ПРИЕМЫ

   Бизнес-анализ
   Выпадающие списки
   Даты и время
   Диаграммы
   Диапазоны
   Дубликаты
   Защита данных
   Интернет, email
   Книги, листы
   Макросы
   Сводные таблицы
   Текст
   Форматирование
   Функции
   Всякое
PLEX

   Коротко
   Подробно
   Версии
   Вопрос-Ответ
   Скачать
   Купить

ПРОЕКТЫ

ОНЛАЙН-КУРСЫ

ФОРУМ

   Excel
   Работа
   PLEX

© Николай Павлов, Planetaexcel, 2006-2022
info@planetaexcel.ru


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

Техническая поддержка сайта

ООО «Планета Эксел»

ИНН 7735603520


ОГРН 1147746834949
        ИП Павлов Николай Владимирович
        ИНН 633015842586
        ОГРНИП 310633031600071 

Получить и вставить время создания и время последнего изменения в ячейки

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

Получите время создания и время последнего изменения в Excel с помощью команды Info

Получите время создания и время последнего изменения в Excel с помощью функции дополнительных свойств

Вставьте созданное время и время последнего изменения в ячейки Excel с кодом VBA

Вставьте время создания и время последнего изменения в ячейки/верхний/нижний колонтитул с помощью Kutools for Excel хорошая идея3


стрелка синий правый пузырь Получите время создания и время последнего изменения в Excel с помощью команды Info

Мы можем узнать точное время создания и время последнего изменения текущей книги в представлении за кулисами Microsoft Excel 2010/2013.

Нажмите Файл > Инфо, а в правой части представления за кулисами отображается Связанные даты Информация. Под Связанные даты title, в нем указано время последнего изменения, время создания и время последней печати. См. Следующий снимок экрана:

Примечание: Этот способ доступен только в Microsoft Excel 2010/2013. Это недопустимо в Excel 2007.


стрелка синий правый пузырьПолучите время создания и время последнего изменения в Excel с помощью функции дополнительных свойств

Фактически, мы можем получить как время создания, так и время последнего изменения текущей книги в диалоговом окне «Свойства документа».
Шаг 1: Открой Дополнительные свойства диалоговое окно:

В Excel 2007 щелкните значок Офисы кнопка> Подготовить > ПредложенияИ Свойства документа панель будет отображаться под панелью инструментов, щелкните Свойства документа > Дополнительные свойства, смотрите скриншоты:

В Excel 2010/2013 щелкните значок Файл > Инфо > Предложения > Дополнительные свойства.

документ-вставка-измененное время-4-4

Шаг 2: В Дополнительные свойства В диалоговом окне вы увидите время создания и время последнего изменения на вкладке Статистика. См. Следующий снимок экрана:

документ-вставка-измененное время-4-4


стрелка синий правый пузырь Вставьте созданное время и время последнего изменения в ячейки Excel с кодом VBA

Следующие макросы VBA помогут вам напрямую вставить в ячейки время создания и время последнего изменения текущей информации книги.

Вставьте время создания и время последнего изменения в Excel

Шаг 1: Удерживайте ALT + F11 ключи, и он открывает окно Microsoft Visual Basic для приложений.

Шаг 2: Нажмите Вставить >> Модулии вставьте следующий макрос в окно модуля.

Код VBA: вставьте время создания и время последнего изменения в Excel

Sub Workbook_Open()
Range("A1").Value = Format(ThisWorkbook.BuiltinDocumentProperties("Creation Date"), "short date")
Range("A2").Value = Format(ThisWorkbook.BuiltinDocumentProperties("Last Save Time"), "short date")
End Sub

Шаг 3:Нажмите F5 ключ для запуска этого макроса. И тогда дата создания и дата последнего изменения будут вставлены в ячейку A1 и ячейку A2 отдельно.

Внимание: вы можете изменить ячейку назначения в VB в соответствии с вашими потребностями.

Вставить время последнего изменения книги в Excel

Шаг 1: Удерживайте ALT + F11 ключи, и он открывает окно Microsoft Visual Basic для приложений.

Шаг 2: Нажмите Вставить >> Модулии вставьте следующий макрос в окно модуля.

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

Шаг 3: Затем сохраните и закройте этот код и вернитесь на рабочий лист, в пустой ячейке введите формулу = ModDate (), и нажмите Enter ключ. Затем он вставляет в ячейку время последнего изменения.

-2

Вставить созданное время книги в Excel

Шаг 1: Удерживайте ALT + F11 ключи, и он открывает окно Microsoft Visual Basic для приложений.

Шаг 2: Нажмите Вставить >> Модулии вставьте следующий макрос в окно модуля.

Function CreateDate() As Date
CreateDate = ActiveWorkbook.BuiltinDocumentProperties("Creation Date")
End Function

Шаг 3: Сохраните и закройте этот код, вернитесь на лист, в пустой ячейке введите формулу = CreateDate (), и нажмите Enter key. и созданная дата будет вставлена ​​в ячейку, как показано на следующих снимках экрана:

-2

Примечание: Если ваша ячейка не является форматом даты, она может отображать странное число. Просто отформатируйте эту ячейку как Время формат, он будет отображаться как обычная дата.


стрелка синий правый пузырь Вставьте время создания и время последнего изменения в ячейки/верхний/нижний колонтитул с помощью Kutools for Excel

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

После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:

1. Нажмите Кутулс Плюс > Workbook > Вставить информацию о книге. Смотрите скриншот:
doc последнее изменение name2

2. Затем в Вставить информацию о книге диалоговом окне, проверьте информацию, которую вы хотите вставить из раздела информации, затем перейдите, чтобы указать место, в которое вы хотите вставить, вы можете выбрать ячейки, нижний колонтитул (левый нижний колонтитул, центральный нижний колонтитул, правый нижний колонтитул) или заголовок (левый верхний колонтитул, центральный верхний колонтитул, правый заголовок). Смотрите скриншот:
вставка документа создана, время изменения 1

3. Нажмите Ok, и проверяемая вами информация была вставлена ​​в указанное вами место.

Наконечник. Если вы хотите получить бесплатную пробную версию функции «Вставить информацию о книге», пожалуйста, перейдите к бесплатной загрузке Kutools for 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% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 107


Репутация:

2

±

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


Excel 2010

Утро сказывается… =)) Не проснулся я. =) Решение найдено.
Вернее понял почему найденное решение в инете не заработало у меня =)))
Если кому надо ответ на моем примере:

[vba]

Код

ActiveWorkbook.Sheets(«Список»).Range(«D» & sh) = FileDateTime(strDirPath & strFileName)

[/vba]

Я банально пробовал использовать только strFileName а не полный пусть. +) В результате чего у меня не работало… =))
Тему можно закрыть, удалить и т.д. =))
Всем спасибо за внимание =)))

Хитрости »

20 Август 2020              3458 просмотров


Имя предыдущего листа

Иногда возникают ситуации, когда необходимо знать имя листа(текущего или на котором ссылка) — об этом я уже писал в статье Как получить имя листа формулой. Но куда сложнее ситуация с получением имени предыдущего листа. Т.е. имя того листа, который расположен перед тем листом, на котором записана формула. Зачем это может потребоваться? Например, если в книге ведут учет касс и каждый лист это отдельная дата. И в определенной ячейке необходимо получить данные по остаткам из предыдущего листа(дня).
Стандартные формулы(та же ЯЧЕЙКА(CELL)) могут это сделать, но в силу специфики получается так, что они бесполезны. В той же ЯЧЕЙКА для получения имени конкретного листа необходимо указать ссылку на ячейку на этом самом листе. Замкнутый круг. Ведь можно сразу указать эту ссылку. А если лист со ссылкой будет удален, то получим ошибку и ссылку надо будет перепрописывать заново.
А значит обычные формулы нам в автоматизации не помогут — такое возможно только через VBA. Лучше всего делать это при помощи функции пользователя(UDF). И главное, эта функция не так уж и сложна:

'---------------------------------------------------------------------------------------
' Author : Щербаков Дмитрий(The_Prist)
'          https://www.excel-vba.ru
'          info@excel-vba.ru
' Purpose: Функция возвращает имя листа, расположенного перед листом с функцией
'          Не требует аргументов
'          Если функция записана на первом по порядку листе - функция вернет ПУСТО
'---------------------------------------------------------------------------------------
Function GetPrevSheet_Name()
    'заставляем пересчитывать формулу при любом изменении
    Application.Volatile True
    Dim ws As Worksheet
    'получаем ссылку на лист, в котором записана формула
    Set ws = Application.Caller.Parent
    'если лист с формулой 2-ой или более по порядку
    If ws.Index > 1 Then
        'получаем имя предыдущего листа
        GetPrevSheet_Name = ws.Previous.Name
    Else
        GetPrevSheet_Name = vbNullString
    End If
End Function

Чтобы правильно использовать приведенный код, необходимо сначала ознакомиться со статьей Что такое функция пользователя(UDF)?. Вкратце: скопировать текст кода выше, перейти в редактор VBA(Alt+F11) -создать стандартный модуль(InsertModule) и в него вставить скопированный текст. После чего функцию можно будет вызвать из Диспетчера функций(Shift+F3), отыскав её в категории Определенные пользователем (User Defined Functions).
Синтаксис записи функции на лист:
=GetPrevSheet_Name()
Функция будет исправно работать даже если предыдущий лист будет удален — ведь она непосредственно на него никак на завязана.
Однако, сама по себе функция в таком виде не очень практична — она ничего не дает, кроме имени листа. Чтобы получить с её помощью значение конкретной ячейки предыдущего листа(пусть это будет ячейка «А1»), необходимо использовать функцию преобразования текстового представления адреса в реальный — ДВССЫЛ(INDIRECT):
=ДВССЫЛ(«‘»&GetPrevSheet_Name()&»‘!A1»)
=INDIRECT(«‘»&GetPrevSheet_Name()&»‘!A1»)
Формула не очень наглядна, хоть и не сложна. Самое непонятное здесь, наверное, это апострофы. Я добавил их до и после имени листа на тот случай, если в имени листа будут различные знаки препинания и другие «неугодные» именам листов символы(пробел в том числе). В этом случае апострофы обязательны, но они никак не мешают, если никаких символов нет.
Но даже в связке с ДВССЫЛ(INDIRECT) наиболее часто функция будет использоваться для получения значения одной конкретной ячейки(как в примере выше). И куда реже в составе каких-либо других функций(ИНДЕКС, ВПР и т.п.), требующих указания диапазонов. Поэтому было бы неправильно, если бы я не привел в статье функцию, которая сразу делает именно нужное — возвращает значение указанной ячейки из предыдущего листа:

'---------------------------------------------------------------------------------------
' Author : Щербаков Дмитрий(The_Prist)
'          https://www.excel-vba.ru
'          info@excel-vba.ru
' Purpose: Функция возвращает значение указанной ячейки на предыдущем листе
'          Если функция записана на первом по порядку листе - функция вернет ошибку ЗНАЧ!
'          Аргументы:
'              rc - ссылка на ячейку на текущем листе,
'                   по адресу которой необходимо получить значение из предыдущего листа
'---------------------------------------------------------------------------------------
Function GetPrevSheet_Value(Optional rc As Range)
    'заставляем пересчитывать формулу при любом изменении
    Application.Volatile True
    Dim rCell As Range
    If rc Is Nothing Then
        Set rCell = Application.Caller
    Else
        Set rCell = rc
    End If
    Dim ws As Worksheet
    'получаем ссылку на лист, в котором записана формула
    Set ws = Application.Caller.Parent
    'если лист с формулой 2-ой или более по порядку
    If ws.Index > 1 Then
        'получаем значение из предыдущего листа
        'на основании адреса указанной ячейки
        GetPrevSheet_Value = ws.Previous.Range(rCell.Address).Value
    Else
        GetPrevSheet_Value = CVErr(xlErrValue)
    End If
End Function

Используется функция так же, как и предыдущая.
Синтаксис записи на листе для получения значения ячейки А1 из предыдущего листа:
=GetPrevSheet_Value(A1)
Если надо получить из предыдущего листа значение ячейки, адрес которой равен адресу ячейки, в которую введена сама функция:
=GetPrevSheet_Value()
Если функция записана на первом по порядку листе, то результатом будет значение ошибки #ЗНАЧ!(#VALUE!)


Значение из предыдущего листа нужно получать куда чаще, чем из следующего. Но раз есть одно — нужно и другое. Функции ниже получают имя и значение ячейки следующего листа:

'---------------------------------------------------------------------------------------
' Author : Щербаков Дмитрий(The_Prist)
'          https://www.excel-vba.ru
'          info@excel-vba.ru
' Purpose: Функция возвращает имя листа, расположенного после листа с функцией
'          Не требует аргументов
'          Если функция записана на первом по порядку листе - функция вернет ПУСТО
'---------------------------------------------------------------------------------------
Function GetNextSheet_Name()
    'заставляем пересчитывать формулу при любом изменении
    Application.Volatile True
    Dim ws As Worksheet
    'получаем ссылку на лист, в котором записана формула
    Set ws = Application.Caller.Parent
    'если лист с формулой не последний
    If ws.Index < ws.Parent.Worksheets.Count Then
        'получаем имя предыдущего листа
        GetNextSheet_Name = ws.Next.Name
    Else
        GetNextSheet_Name = vbNullString
    End If
End Function
'---------------------------------------------------------------------------------------
' Author : Щербаков Дмитрий(The_Prist)
'          https://www.excel-vba.ru
'          info@excel-vba.ru
' Purpose: Функция возвращает значение указанной ячейки на предыдущем листе
'          Если функция записана на первом по порядку листе - функция вернет ошибку ЗНАЧ!
'          Аргументы:
'              rc - ссылка на ячейку на текущем листе,
'                   по адресу которой необходимо получить значение из предыдущего листа
'---------------------------------------------------------------------------------------
Function GetNextSheet_Value(Optional rc As Range)
    'заставляем пересчитывать формулу при любом изменении
    Application.Volatile True
    Dim rCell As Range
    If rc Is Nothing Then
        Set rCell = Application.Caller
    Else
        Set rCell = rc
    End If
    Dim ws As Worksheet
    'получаем ссылку на лист, в котором записана формула
    Set ws = Application.Caller.Parent
    'если лист с формулой не последний
    If ws.Index < ws.Parent.Worksheets.Count Then
        'получаем значение из предыдущего листа
        'на основании адреса указанной ячейки
        GetNextSheet_Value = ws.Next.Range(rCell.Address).Value
    Else
        GetNextSheet_Value = CVErr(xlErrValue)
    End If
End Function

Скачать файл пример:

  Имя предыдущего листа.xls (85,5 KiB, 513 скачиваний)

Так же см.:
Как получить имя листа формулой


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

Доброго времени суток!
Написал макрос, который создает в рабочей книге лист и переименовывает его в формат текущая дата (месяц) + постоянное значение (допустим гос. № автомобиля) используя функцию =СЦЕПИТЬ. Макрос работает, однако для отображения в ячейке текущей даты в формате (месяц) пришлось использовать функцию =ЕСЛИ(И, т.к. при присвоении имени листу дата выводится только в числовом формате (допустим 40564) и имя листа получается 40564 А 123 АА 199, а необходимо Январь А 123 АА 199.
Повторяю, все работает, однако функция ЕСЛИ работает только с 7 аргументами (т.е. до Июля, а необходимо все 12 месяцев). Вот код макроса:
Sub Макрос6()
ActiveWorkbook.Sheets.Add Before:=Worksheets(Worksheets.Count)
    Range(«A1»).Select
    ActiveCell.FormulaR1C1 = «=TODAY()»
    Range(«A2»).Select
    ActiveCell.FormulaR1C1 = «=MONTH(R[-1]C)»
    Range(«A3»).Select
    ActiveCell.FormulaR1C1 = _
        «=IF(AND(R[-1]C=1),»»Январь»»,IF(AND(R[-1]C=2),»»Февраль»»,IF(AND(R[-1]C=3),»»Март»»,IF(AND(R[-1]C=4),»»Апрель»»,IF(AND(R[-1]C=5),»»Май»»,IF(AND(R[-1]C=6),»»Июнь»»,IF(AND(R[-1]C=7),»»Июль»»,)))))))»
        Selection.Copy
    Range(«A4»).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Range(«A5»).Select
    ActiveCell.FormulaR1C1 = » А 123 АА 199″
    Range(«A6»).Select
    ActiveCell.FormulaR1C1 = «=CONCATENATE(R[-2]C,R[-1]C)»
Dim myWorksheet As Worksheet
For Each myWorksheet In Worksheets
If myWorksheet.Range(«A1»).Value <> «» Then
myWorksheet.Name = myWorksheet.Range(«A6»).Value
End If
Next
    Range(«A1:A6»).Select
    Selection.ClearContents
    Range(«A1»).Select
End Sub

Прошу помогите!

Like this post? Please share to your friends:
  • Дата сегодняшнего дня excel
  • Дата с шагом в excel
  • Дата редактирования документа word
  • Дата расхода в excel
  • Дата рабочий день в excel