Как задать формат даты или даты со временем в верхнем или нижнем колонтитуле?
При работе в Excel часто возникает необходимость добавить текущую дату или время в верхний или нижний колонтитул листа — например, для печати отчётов или отслеживания версий документа. По умолчанию, если вы вставляете дату или время в колонтитул с помощью кода &[Date] или &[Time], Excel отображает их в формате, заданном в региональных настройках вашей системы Windows. Это означает, что вы не можете напрямую изменить внешний вид даты или времени в колонтитуле — например, отобразить «April 23, 2024» вместо «4/23/2024» — с помощью встроенных средств Excel.
Такое ограничение может стать проблемой, если ваши документы должны соответствовать корпоративным стилям, региональным предпочтениям или личным требованиям к отображению даты и времени. Например, вы можете захотеть отображать дату в формате «Месяц День, Год» или объединить дату и время («23 апреля 2024 г., 18:05») в верхних или нижних колонтитулах документов. На следующем снимке экрана показан настраиваемый формат даты в колонтитуле листа:

Для решения этой задачи используйте VBA (Visual Basic for Applications), чтобы программно задать нужный формат даты или даты со временем в верхнем или нижнем колонтитуле. Этот подход обеспечивает гибкость и позволяет обойти ограничения встроенных средств Excel для работы с колонтитулами.
Задание формата даты или Установить формат даты и времени в колонтитуле с помощью кода VBA
Задание формата даты или Установить формат даты и времени в колонтитуле с помощью кода VBA
Чтобы настроить формат даты или задать собственный формат даты и времени в верхнем или нижнем колонтитуле, воспользуйтесь простым кодом VBA. Это решение идеально подходит, когда нужен гибкий и персонализированный формат отображения, независимый от региональных настроек системы. Следуйте этим шагам:
1. Откройте лист, в колонтитул которого вы хотите вставить и настроить формат даты. Рекомендуем перейти в Разметку страницы, чтобы сразу видеть, как будут выглядеть колонтитулы при печати. Чтобы включить Разметку страницы, нажмите кнопку Разметка страницы, расположенную в правом нижнем углу окна Excel, как показано ниже:

Совет: хотя переход в режим «Разметка страницы» не обязателен для запуска кода VBA, мы рекомендуем его использовать, если вы хотите сразу видеть изменения в колонтитулах.
2. Нажмите на клавиатуре ALT + F11, чтобы открыть окно редактора Microsoft Visual Basic for Applications (VBA).
3. В редакторе VBA выберите Вставка > Модуль. Будет создан новый модуль. Скопируйте и вставьте в него следующий код VBA:
Код VBA: вставка и форматирование даты в колонтитуле:
Sub add_date_header()
ActiveSheet.PageSetup.CenterHeader = Format(Date, "mmmm dd, yyyy")
End Sub
- Этот код автоматически вставит текущую дату в выбранном формате в колонтитул. Вы можете заменить CenterHeader на LeftHeader, RightHeader, LeftFooter, CenterFooter или RightFooter, чтобы переместить отформатированную дату в другую часть верхнего или нижнего колонтитула.
- Строка формата даты, например mmmm dd, yyyy (которая даёт «April 23, 2024»), также может быть настроена под любые стандартные коды формата даты VBA, такие как dd/mm/yyyy, yyyy-mm-dd или другие — по вашим потребностям.
- Обратите внимание на синтаксис строки формата даты: использование неверных кодов может привести к ошибкам или непредвиденным результатам. Всегда проверяйте, что полученный результат соответствует вашим ожиданиям в режиме просмотра «Разметка страницы».
4. После ввода и проверки кода нажмите F5 или щёлкните кнопку «Выполнить» в редакторе VBA, чтобы запустить код. Формат «Определённая дата» немедленно отобразится в колонтитуле листа. Результат можно проверить в режиме «Разметка страницы», как показано на следующем снимке экрана:

Если вы хотите, чтобы дата автоматически обновлялась при каждом открытии или печати книги, необходимо либо повторно запускать код VBA, либо назначить его событию открытия книги (Workbook Open) или событию перед печатью (BeforePrint). Поскольку этот метод основан на VBA и требует ручного вмешательства, содержимое колонтитулов не обновляется автоматически каждый день, если код не запущен повторно.
Совет: Чтобы добавить текущее время вместе с датой в пользовательский формат, используйте приведённый ниже код VBA. Это особенно полезно, когда отчёты требуют временной метки или когда необходимо фиксировать одновременно дату и время печати или экспорта в колонтитулах листа:
Sub Change_Format()
ActiveSheet.PageSetup.CenterHeader = Format(Now, "MMMM DD, YYYY HH:MM:SS")
End Sub
В результате колонтитул будет отображать дату и время в указанном вами формате. Например, если задать формат "mmmm dd, yyyy hh:mm", вы увидите представление вида «April 23, 2024 18:05».
И вы получите следующий результат:

Внимание: чтобы сохранить макросы VBA для дальнейшего использования, книгу необходимо сохранять в формате книги с поддержкой макросов (.xlsm). Некоторые настройки Excel могут ограничивать выполнение макросов; если возникают ошибки, проверьте параметры безопасности макросов в разделе Файл > Параметры > Центр управления > Параметры Центра управления > Параметры макросов. Если колонтитул не обновляется, как ожидалось, убедитесь, что макрос запущен на нужном листе и обращается к правильному разделу колонтитула.
Если необходимо задать разные Формат даты для разных листов, просто повторите процедуру на каждом соответствующем листе, при необходимости изменив строку формата. Для регулярного использования можно назначить код VBA кнопке или сочетанию клавиш для быстрого доступа.
Альтернативные способы настройки формата даты в колонтитулах включают:
–Ручной ввод даты/времени в колонтитул (просто, но статично): просто дважды щёлкните в колонтитуле в режиме «Разметка страницы» и введите дату или время в нужном формате. Однако такой способ не обновляется автоматически при открытии или печати листа. Это быстрое решение для статичных документов, но при изменении даты потребуется ручное обновление.
В заключение, VBA — оптимальное решение, когда в колонтитулах требуется гибкий, настраиваемый и динамичный формат даты или даты со временем. Обязательно тщательно проверяйте строки форматирования и всегда корректно сохраняйте макросы. Если после запуска кода вы обнаружите устаревший или неизменённый формат даты, повторно проверьте настройки безопасности макросов или попробуйте сохранить книгу и открыть её заново.

Раскройте магию Excel с помощью KUTOOLS AI
- Интеллектуальное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это доступно через простые команды.
- Пользовательские формулы: создавайте индивидуальные формулы для оптимизации рабочих процессов.
- Программирование на VBA: Пишите и внедряйте код VBA легко и без усилий.
- Анализ формул: Легко разбирайтесь даже в самых сложных формулах.
- Перевод текста: Ломайте языковые барьеры прямо в ваших таблицах.
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…
Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
- Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — один установщик
Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек