Как создать календарь в ячейке excel

Всплывающий календарь

Если вам часто приходится вводить даты в ячейки листа, то делать это вручную неудобно. Для ввода именно сегодняшней даты можно воспользоваться функцией СЕГОДНЯ (TODAY), сочетанием клавиш Ctrl+; или макросом, но если нужны разные даты из прошлого или будущего, то вбивать их руками долго. 

К сожалению, в стандартном арсенале средств Excel нет встроенного выпадающего календаря (в отличие от Word), да еще и в последних версиях, начиная с Excel 2007, Microsoft зачем-то убрала из стандартного комплекта поставки библиотеку mscalc.osx, которая позволяла быстро создать пользовательскую форму с календарем.

Естественно, это «узкое место» не осталось без внимания опытных пользователей и экспертов Excel MVP, которые оперативно создали несколько интерактивных календарей на макросах для удобного ввода дат. Вот подборка неплохих, на мой взгляд, бесплатных вариантов:

calendar-ron.png Windows Date Picker

Автор: Ron de Bruin

Цена: бесплатно

Ссылка

  • Устанавливается как надстройка (есть версии для старых Excel 200-2003 и для новых Excel 2007-2010 и, отдельно, для Excel 2013. 
  • Вызывается через контекстное меню ячейки (правой кнопкой мыши по ячейке — Date Picker). 
  • Позволяет вставлять дату в нескольких форматах, вплоть до номера недели (по разным стандартам). 
  • Автоматически подстраивается под российский стандарт недели (с понедельника).

calendar-jim-cone.png Excel Date Picker

Автор: Jim Cone

Цена: бесплатно

Ссылка

  • Макрос (не надстройка!) с открытым кодом VBA — можно посмотреть как всё устроено и модернизировать «под себя». Но надо копировать код в каждый используемый файл и вызывать нажатием на кнопку или сочетанием клавиш, т.е. универсальность хромает. 
  • Удобная система прокрутки лет и месяцев. 
  • Российскую неделю (с понедельника) знает. 
  • Каких-либо настроек нет.
calendar-vertex.png Mini Calendar and Date Picker

Автор: VERTEX

Цена: бесплатно.

Ссылка в Office Apps Store

  • Работает только в Excel 2013, добавляется через магазин приложений Office App Store на вкладке Вставка — Приложения для Office (Insert — Office Apps Store)
  • Вставляется на лист как постоянный графический объект и добавляет выбранную дату в любую выделенную предварительно ячейку. 
  • Умеет менять стандарты недели, отображать номера недель, вводить не только дату, но и время. 
  • Есть возможность задавать темы оформления. 
  • Нет кнопки перехода к текущему дню.
datepicker.jpg Date Picker

Автор: Sam Radakovitz, руководитель команды программистов Excel в Microsoft

Цена: бесплатно 

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

  • Устанавливается как надстройка. 
  • Вызывается через правую кнопку мыши по ячейке — Pick from calendar или с помощью удобного всплывающего значка календарика справа от ячейки с датой. 
  • Красивый дизайн, отображение количества дней до выбранной даты от текущей. 
  • Использует USA-стандарт недели (отображает неделю с воскресенья). 
  • Настроек нет. 

 

P.S.

Установка надстроек:

  • в Excel 2003 и старше — меню Сервис — Надстройки — Обзор (Tools — Add-ins — Browse)
  • в Excel 2007 и новее — Файл — Параметры — Надстройки — Перейти — Обзор (File — Options — Add-ins — Go To — Browse)

Ссылки по теме

  • Всплывающий календарь из надстройки PLEX
  • Автоматический ввод даты при изменении ячейки

Содержание

    • 0.1 P.S.
    • 0.2 Ссылки по теме
  • 1 Добавить «Всплывающий календарь» в Excel 2016, 2013, 2010, 2007
  • 2 Как работать с надстройкой:
  • 3 Как задать формат даты в Excel 2007/2010?
  • 4 Как задать свой собственный формат даты? Как преобразовать дату в год, месяц либо день недели?
  • 5 Как установить систему дат 1904?
  • 6 Как вводить дату в ячейку?
  • 7 Как в Excel вводить даты при помощи надстройки?
  • 8 Как вставить в ячейку статическую, фиксированную, не обновляемую дату?
  • 9 Как вставить в ячейку текущую автоматически обновляемую дату?
    • 9.1 Другие материалы по теме:
    • 9.2 Интерактивный календарь в Excel
    • 9.3 Создаем таблицу с событиями
    • 9.4 Настраиваем календарь
    • 9.5 Задаем имя диапазону дат в календаре
    • 9.6 Определяем ячейку с выделенной датой
    • 9.7 Добавляем макрос на событие Worksheet_selectionchange()
    • 9.8 Настраиваем формулы для отображения деталей при выборе даты
    • 9.9 Добавление анонса
    • 9.10 Настраиваем условное форматирование для выделенной даты
    • 9.11 Форматируем

Если вам часто приходится вводить даты в ячейки листа, то делать это вручную неудобно. Для ввода именно сегодняшней даты можно воспользоваться функцией СЕГОДНЯ (TODAY), сочетанием клавиш Ctrl+; или макросом, но если нужны разные даты из прошлого или будущего, то вбивать их руками долго. 

К сожалению, в стандартном арсенале средств Excel нет встроенного выпадающего календаря (в отличие от Word), да еще и в последних версиях, начиная с Excel 2007, Microsoft зачем-то убрала из стандартного комплекта поставки библиотеку mscalc.osx, которая позволяла быстро создать пользовательскую форму с календарем.

Естественно, это «узкое место» не осталось без внимания опытных пользователей и экспертов Excel MVP, которые оперативно создали несколько интерактивных календарей на макросах для удобного ввода дат. Вот подборка неплохих, на мой взгляд, бесплатных вариантов:

как сделать выпадающий календарь в ячейке excel Windows Date Picker
Автор: Ron de Bruin
Цена: бесплатно
Ссылка

  • Устанавливается как надстройка (есть версии для старых Excel 200-2003 и для новых Excel 2007-2010 и, отдельно, для Excel 2013. 
  • Вызывается через контекстное меню ячейки (правой кнопкой мыши по ячейке — Date Picker). 
  • Позволяет вставлять дату в нескольких форматах, вплоть до номера недели (по разным стандартам). 
  • Автоматически подстраивается под российский стандарт недели (с понедельника).
как сделать выпадающий календарь в ячейке excel Excel Date Picker
Автор: Jim Cone
Цена: бесплатно
Ссылка

  • Макрос (не надстройка!) с открытым кодом VBA — можно посмотреть как всё устроено и модернизировать «под себя». Но надо копировать код в каждый используемый файл и вызывать нажатием на кнопку или сочетанием клавиш, т.е. универсальность хромает. 
  • Удобная система прокрутки лет и месяцев. 
  • Российскую неделю (с понедельника) знает. 
  • Каких-либо настроек нет.
как сделать выпадающий календарь в ячейке excel Mini Calendar and Date Picker
Автор: VERTEX
Цена: бесплатно.
Ссылка в Office Apps Store

  • Работает только в Excel 2013, добавляется через магазин приложений Office App Store на вкладке Вставка — Приложения для Office (Insert — Office Apps Store)
  • Вставляется на лист как постоянный графический объект и добавляет выбранную дату в любую выделенную предварительно ячейку. 
  • Умеет менять стандарты недели, отображать номера недель, вводить не только дату, но и время. 
  • Есть возможность задавать темы оформления. 
  • Нет кнопки перехода к текущему дню.
как сделать выпадающий календарь в ячейке excel Date Picker
Автор: Sam Radakovitz, руководитель команды программистов Excel в Microsoft
Цена: бесплатно 
Сайт автора умер, ссылки не работают, но можно скачать заботливо сохраненную мной когда-то копию здесь.

  • Устанавливается как надстройка. 
  • Вызывается через правую кнопку мыши по ячейке — Pick from calendar или с помощью удобного всплывающего значка календарика справа от ячейки с датой. 
  • Красивый дизайн, отображение количества дней до выбранной даты от текущей. 
  • Использует USA-стандарт недели (отображает неделю с воскресенья). 
  • Настроек нет. 

P.S.

Установка надстроек:

  • в Excel 2003 и старше — меню Сервис — Надстройки — Обзор (Tools — Add-ins — Browse)
  • в Excel 2007 и новее — Файл — Параметры — Надстройки — Перейти — Обзор (File — Options — Add-ins — Go To — Browse)

Ссылки по теме

  • Всплывающий календарь из надстройки PLEX
  • Автоматический ввод даты при изменении ячейки

Каждый раз при вводе даты в ячейку возникают вопросы: печатать ДД-ММ-ГГГГ или в другом порядке? Использовать «-» или «/» в качестве разделителя? Распознает ли Excel введённое значение как дату и отобразит ли её в нужном формате? Именно в этих случаях пригодится всплывающий, или выпадающий, календарь. Он незаменим для работы с личными и рабочими списками дел, расписаниями и планами, графиками выполнения проектов и финансовыми отчётами в Excel.

«Всплывающий календарь» — это надёжный и проверенный инструмент выбора дат, которому доверяют 30 000+ пользователей Excel:

  • Интуитивен в использовании: выберите ячейки — вставьте дату
  • Выпадает рядом с ячейкой, отображает номера недель, дни недели, текущую дату
  • Заполняет датами столбцы, строки и любые диапазоны в секунды
  • Множество вариантов формата даты по умолчанию
  • Работает в 64- и 32-разрядных версиях Excel

Язык видео: английский. Субтитры: русский, английский. (Внимание: видео может не отражать последние обновления. Используйте инструкцию ниже.)

Добавить «Всплывающий календарь» в Excel 2016, 2013, 2010, 2007

Подходит для: Microsoft Excel 2016 – 2007, desktop Office 365 (32-бит и 64-бит).

Скачать надстройку XLTools

как сделать выпадающий календарь в ячейке excel

Как работать с надстройкой:

  • Как вставить или изменить дату в ячейке с помощью «Всплывающего календаря»
  • Как из календаря вставить текущую дату в ячейку
  • Как заполнить датами целый столбец, строку или несмежные диапазоны
  • Как заполнить диапазон последовательными датами
  • Как вставить сразу и дату и время в ячейку
  • Как вставить только время (без даты) в ячейку
  • Как изменить формат даты по умолчанию для «Всплывающего календаря»
  • Как изменить комбинацию горячих клавиш для «Всплывающего календаря»
  • Как добавить/удалить иконку «Всплывающего календаря»
  • Как добавить/удалить «Всплывающий календарь» из контекстного меню
  • Как встроить всплывающий календарь в книгу Excel

Внимание: отмена последнего действия (UNDO) невозможна. Рекомендуем сохранять резервную копию файлов или использовать «Контроль версий» XLTools для отслеживания изменений.

Как вставить или изменить дату в ячейке с помощью «Всплывающего календаря»

  1. Выберите ячейку.
  2. В группе Дата/Время нажмите на кнопку «Вставить дату» > Календарь всплывёт рядом с ячейкой.
    Или: по правому клику мыши выберите пункт «Вставить дату».
    Или: используйте сочетание клавиш Ctrl+; (точка с запятой на английской раскладке).
  3. Выберите нужную дату из календаря > Готово.
    Обратите внимание на формат: это то, что вам нужно? Вы можете изменить формат даты по умолчанию.
  4. Чтобы изменить значение даты, нажмите на иконку календаря справа от ячейки > Измените дату.

«Всплывающий календарь» запоминает последнюю использованную дату, чтобы вам было проще вводить следующую дату.

Внимание: после ввода даты, ячейке автоматически присваивается формат Число/Дата. Если вы позднее удалите значение из ячейки, сама ячейка сохранит свой формат Дата, а иконка календаря для этой пустой ячейки останется доступной. Чтобы убрать иконку, измените формат ячейки на Общий.

как сделать выпадающий календарь в ячейке excel

Как из календаря вставить текущую дату в ячейку

  1. Выберите ячейку, в которую нужно вставить текущую дату.
  2. В группе Дата/Время нажмите на кнопку «Вставить дату» > Календарь появится рядом с ячейкой.
    Или: по правому клику мыши выберите пункт «Вставить дату».
    Или: используйте сочетание клавиш Ctrl+; (точка с запятой на английской раскладке).
  3. Нажмите по надписи «Сегодня» в нижней части календаря > Готово.

Как заполнить датами целый столбец, строку или несмежные диапазоны

С помощью «Всплывающего календаря» вы можете заполнить значениями дат целый диапазон (ограничение до 4000 ячеек). Даты можно вставить в столбцы таблицы, строки, объединённые ячейки или любой произвольный диапазон точно так же, как одну ячейку: 

  1. Выберите диапазон.
  2. В группе Дата/Время нажмите на кнопку «Вставить дату» > Появится всплывающий календарь.
    Или: по правому клику мыши выберите пункт «Вставить дату».
    Или: используйте сочетание клавиш Ctrl+; (точка с запятой на английской раскладке).
  3. Выберите дату > Готово. Весь диапазон заполнен значением выбранной даты.
    Совет: узнайте, как заполнить ячейки последовательными датами.
  4. Чтобы изменить значение даты, нажмите на иконку календаря справа от ячейки > Измените дату.

Внимание: после ввода даты, ячейкам автоматически присваивается формат Число/Дата. Если вы позднее удалите значения из ячеек, сами ячейки сохранят свой формат Дата, а иконка календаря для этих пустых ячеек останется доступной. Чтобы убрать иконку, измените формат ячеек на Общий.

как сделать выпадающий календарь в ячейке excel

Как заполнить диапазон последовательными датами

С надстройкой «Всплывающий календарь» вы можете быстро заполнить диапазон последовательными датами (дни по порядку):

  1. Вкладка XLTools > Кнопка «Настройки» > Вкладка Дата/Время > Отметьте флажком «Включить автоувеличение дат при заполнении диапазона ячеек» > OK.
  2. Выберите диапазон.
  3. В группе Дата/Время нажмите на кнопку «Вставить дату» > Всплывающий календарь появятся рядом с ячейкой.
    Или: по правому клику мыши выберите пункт «Вставить дату».
    Или: используйте сочетание клавиш Ctrl+; (точка с запятой на английской раскладке).
  4. Выберите начальную дату > Готово, весь диапазон будет автоматически заполнен последовательными значениями дат с шагом в 1 день.

как сделать выпадающий календарь в ячейке excel

Как вставить сразу и дату и время в ячейку

  1. Выберите ячейку.
  2. В группе Дата/Время нажмите на кнопку «Вставить дату и время» > Всплывающий календарь с часами появятся рядом с ячейкой.
    Или: по правому клику мыши выберите пункт «Вставить дату и время».
    Или: используйте сочетание клавиш: нажмите Ctrl+; (точка с запятой на английской раскладке), затем отпустите клавиши и нажмите Ctrl+Shift+; (точка с запятой на английской раскладке).
  3. Установите время при помощи колеса прокрутки мыши или стрелок Вверх/Вниз > Выберите дату из всплывающего календаря > Готово.
    Обратите внимание на формат: это то, что вам нужно? Вы можете задать другой формат по умолчанию для Всплывающего Календаря и Часов.
  4. Чтобы изменить значение, нажмите на иконку справа от ячейки > Измените дату и время.

Внимание: после ввода даты и времени, ячейке автоматически присваивается формат Число/Дата. Если вы позднее удалите значение из ячейки, сама ячейка сохранит свой формат Дата, а иконка календаря с часами для этой пустой ячейки останется доступной. Чтобы убрать иконку, измените формат ячейки на Общий.

как сделать выпадающий календарь в ячейке excel

Как вставить только время (без даты) в ячейку

Используйте надстройку «Всплывающие часы» для установки и вставки времени в ячейки и диапазоны:

  1. Выберите ячейку или диапазон.
  2. В группе Дата/Время нажмите на кнопку «Вставить время» > Всплывающие часы появятся рядом с ячейкой.
    Или: по правому клику мыши выберите пункт «Вставить время».
    Или: используйте сочетание клавиш Ctrl+Shift+; (точка с запятой на английской раскладке).
  3. Установите время при помощи колеса прокрутки мыши или стрелок Вверх/Вниз > Нажмите Ввод (Enter) > Готово.

как сделать выпадающий календарь в ячейке excel

Как изменить формат даты по умолчанию для «Всплывающего календаря»

Чтобы изменить формат, заданный по умолчанию для «Всплывающего Календаря»:

  1. Нажмите кнопку «Настройки» на панели XLTools > Вкладка Дата/Время.
  2. Отметьте флажком «По умолчанию использовать формат даты и времени, установленный ниже».
    Внимание: при снятии флажка Всплывающий календарь будет использовать формат, установленный в ваших системных настройках.
  3. Выберите подходящий формат, напр., принятый в вашей стране или на вашем языке.
    Или: задайте «Свой формат».
  4. Нажмите OK > Готово.

как сделать выпадающий календарь в ячейке excel

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

  1. Выберите ячейки > По правому клику мыши выберите «Формат ячеек».
  2. Вкладка «Число» > Формат «Дата» > Установите нужный формат даты.

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

  1. Панель управления > Часы, язык и регион > Изменение форматов даты.
  2. Вкладка Форматы > Установите форматы дат и времени, первого дня недели.
  3. Вкладка Местоположение > Укажите страну местонахождения.
  4. Вкладка Дополнительно > Измените язык системы > Перезагрузите компьютер.

Для вашего удобства, для «Всплывающего календаря» по умолчанию задано сочетание клавиш Ctrl+; (точка с запятой на английской раскладке) – это та же комбинация, которая используется в Excel для вставки текущей даты. Вы можете изменить горячие клавиши для «Всплывающих часов» в любое время:

Вкладка XLTools > Кнопка «Настройки» > Вкладка «Горячие клавиши» > Задайте другое сочетание > OK.

как сделать выпадающий календарь в ячейке excel

Как добавить/удалить иконку «Всплывающего календаря»

Пиктограмма (иконка) календаря появляется справа от выбранной ячейки, если для ячейки задан формат Дата. Нажатие на иконку открывает инструмент выбора даты.

  • Чтобы отключить отображение иконки Календаря:
  1. Нажмите кнопку «Настройки» на панели XLTools > Вкладка Дата/Время.
  2. Снимите флажок с опции «Отображать пиктограммы Всплывающего Календаря и Часов» > OK.
  3. Готово! Пиктограммы перестанут отображаться, Календарь и Часы будут по-прежнему доступны для использования. Иконки можно вернуть в любое время.

как сделать выпадающий календарь в ячейке excel

  • Чтобы настроить появление иконки рядом с пустыми ячейками, столбцами, строками или произвольным диапазоном:
  1. Выберите пустую ячейку или диапазон.
  2. Вкладка «Главная» > Группа «Число» > Дата > OK. Так, ячейкам будет присвоен формат даты.
    Или: вставьте любую дату с помощью «Всплывающего календаря» > Нажмите кнопку Delete. Это удалит непосредственно значения, и присвоит выбранным ячейкам формат даты.
  3. Готово! Теперь, если вы выберите какую-либо ячейку в этом диапазоне, рядом с ней появится иконка Календаря.
  • Чтобы убрать иконку Календаря с пустых ячеек:
    Если ячейка пуста, но иконка по-прежнему появляется, значит, что ячейке присвоен формат даты или времени. Чтобы убрать иконку с пустых ячеек, измените их формат на Общий:
  1. Выберите пустую ячейку или диапазон.
  2. Вкладка «Главная» > Группа «Редактирование» > Очистить форматы.
    Или: вкладка «Главная» > Группа «Число» > Выберите «Общий» из выпадающего списка.
    Или: по правому клику «Формат ячеек» > Вкладка «Число» > Выберите формат «Общий» > OK.
  1. Нажмите кнопку «Настройки» на панели XLTools > Вкладка Дата/Время.
  2. Установите или снимите флажки соответствующих опций:
    • «Добавить пункт «Вставить дату» в контекстное меню»
    • «Добавить пункт «Вставить время» в контекстное меню»
    • «Добавить пункт «Вставить дату и время» в контекстное меню»
  3. Нажмите OK > Готово.

как сделать выпадающий календарь в ячейке excel

Как встроить всплывающий календарь в книгу Excel

Надстройка XLTools «Всплывающий календарь» не может быть встроена в книгу. «Всплывающий календарь» будет видим и доступен только тем пользователям, у кого установлена надстройка XLTools.

Если вам нужно отправить книгу другим пользователям, попробуйте наш встраиваемый календарь — онлайн надстройка XLTools.net Календарь. Установка на компьютер не требуется: отправьте файл коллегам, и они тоже смогут воспользоваться календарём. Это веб-приложение удобно для рассылки расписаний, графиков, планов, т.д.

Появились вопросы или предложения? Оставьте комментарий ниже.

Для гарантии правильности ввода дат пользователями элемент управления Excel Календарь (Calendar) может упростить ситуацию как для вас, так и для пользователей, работающих с вашей электронной таблицей. При помощи этого трюка можно добавить элемент управления Календарь (Calendar) в любую рабочую книгу Excel.

Если дата введена неправильно, Excel не сможет ее распознать. Иногда это означает, что вы не можете выполнять вычисления с числами, выглядящими как даты, но датами не являющимися. Кроме того, это означает, что любые диаграммы или сводные таблицы, которые основываются на этих данных, будут неверными. Хотя решить эту проблему может весьма разностороннее средство проверки данных Excel, оно также далеко от совершенства.

При помощи этого трюка можно добавить элемент управления Календарь (Calendar) в любую рабочую книгу Excel. Для начала откройте рабочую книгу, куда собираетесь добавить календарь. Лучше использовать ваш файл Personal.xls, который можно открыть командой Файл → Открыть (File → Open). Если этот пункт меню недоступен, значит, у вас пока нет файла Personal.xls. Можно создать его, записав пустой макрос. Для этого выберите команду Разработчик → Начать запись (Developer → Record New Macro) и в поле Сохранить в (Store Macro In) выберите вариант Личная книга макросов (Personal Macro Workbook). Затем щелкните на кнопке ОК, выделите любую ячейку и остановите запись. Excel автоматически создаст файл Personal.xls.

Выберите команду Разработчик → Редактор Visual Basic (Developer → Visual Basic Editor) (сочетание клавиш Alt/Option+Fll) и в VBE выберите команду Insert → UserForm. Должна появиться панель инструментов Control. (Если панель не открылась, выберите команду View → Toolbox.) Правой кнопкой мыши щелкните панель инструментов Control и в контекстном меню выберите команду Additional Controls. Прокрутите список до флажка Элемент управления Календарь 10.0 (Calendar Control 10.0) (номер версии зависит от версии Excel). Установите этот флажок и щелкните на кнопке ОК. Щелкните календарь, который теперь представляет собой часть панели инструментов, а затем щелкните форму UserForm, которую добавили ранее. При помощи маркеров изменения размера формы UserForm и элемента управления Календарь (Calendar) отрегулируйте их размер.

Удостоверьтесь, что форма UserForm выделена, и выберите команду View → Properties Window (клавиша F4). В окне Properties выберите Caption и замените слово UserForml словом Calendar. Теперь выберите команду View → Code (клавиша F7) и в частном модуле введите код, приведенный в листинге 7.14.

1 2 3 4 5 6 7 8 
//Листинг 7.14 Private Sub Calendar1_Click() ActiveCell = Calendar1.Value End Sub   Private Sub UserForm_Activate()     Me.Calendar1.Value = Date End Sub

//Листинг 7.14 Private Sub Calendar1_Click() ActiveCell = Calendar1.Value End Sub Private Sub UserForm_Activate() Me.Calendar1.Value = Date End Sub

Выберите команду Insert → Module и в общем модуле введите код из листинга 7.15.

1 2 3 4 
//Листинг 7.15 Sub ShowIt()     UserForm1.Show End Sub

//Листинг 7.15 Sub ShowIt() UserForm1.Show End Sub

Закройте окно, чтобы вернуться в Excel. Выберите команду Разработчик > Макрос → Макросы (Developer > Macro → Macros) (сочетание клавиш Alt+F8) и затем выберите ShowIt. Щелкните кнопку Параметры (Options) и назначьте макросу клавишное сочетание — все готово. Нажмите выбранное сочетание клавиш, раскроется календарь с выбранной сегодняшней датой. Щелкните любую дату, и она будет вставлена в активную ячейку.

Формат даты используется для отображения дат и времени, представленных числами, в виде дат. Система дат в Excel устроена так, что дату 01.01.1900 года приняли за отправную точку и обозначили числом 1, таким образом, любая дата представляет собой число дней, пройденных с 1 января 1900 года до этой даты. Значение времени является составной частью даты и хранится в виде десятичной дроби. Со значениями даты и времени можно производить математические действия, так как они являются числами. 

Как задать формат даты в Excel 2007/2010?

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

как сделать выпадающий календарь в ячейке excel

В раскрывшемся списке доступны два числовых формата: «Краткая дата» и «Длинный формат даты». В первом случае дата отображается числами, а во втором — числами и словами. Если предложенные форматы не подходят, выбираем пункт «Другие числовые форматы…», в результате чего появляется окно «Формат ячеек».

как сделать выпадающий календарь в ячейке excel

Это окно также можно вызвать щелчком левой кнопки мыши на правый нижний уголок группы,

как сделать выпадающий календарь в ячейке excel

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

как сделать выпадающий календарь в ячейке excel

В появившемся окне «Формат ячеек» переходим на вкладку «Число» и в группе «Числовые форматы» выбираем пункт «Дата»

как сделать выпадающий календарь в ячейке excel

В правой части окна отображаются возможности данного формата, в группе «Тип» выбераем нужный способ отображения даты. Форматы даты, перед которыми стоит значок *(звездочка), зависят от даты операционной системы, форматы, перед которыми этого значка нет – не зависят.

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

Выделяем нужные ячейки в окне открытого листа и вызываем окно «Формат ячеек» любым из перечисленных выше способов. В окне «Формат ячеек» выбираем вкладку «Число» и в группе «Числовые форматы» выбираем пункт «Все форматы». После этого помещаем курсор в поле «Тип» и набираем код числового формата в русской раскладке клавиатуры:

— М – для отображения месяцев в виде числа от 1 до 12;

— ММ — для отображения месяцев в виде числа от 01 до 12;

— МММ – для отображения месяцев в виде «янв» — «дек»;

— ММММ — для отображения месяцев в виде «январь» — «декабрь»;

— МММММ – для отображения месяцев виде первой буквы месяца;

Форматы с кодом «М» можно использовать для преобразования даты в месяц.

— д – для отображения дней в виде числа от 1 до 31;

— дд – для отображения дней в виде числа от 01 до 31;

— ддд – для отображения дней в виде «Пн» — «Вс»;

— дддд – для отображения дней в виде «понедельник» — «воскресенье»;

Форматы с кодом «д» используются для преобразования даты в день.

— гг – для отображения лет в виде чисел от 00 до 99;

-гггг – для отображения лет в виде чисел от 1900 до 9999.

Форматы с кодом «г» используются для преобразования даты в год.

Как установить систему дат 1904?

Кроме вышеописанной системы дат, Excel поддерживает еще одну систему – 1904 года, которая используется на компьютерах Macintosh. Excel автоматически производит смену системы дат, но при необходимости, это можно сделать самостоятельно вручную. Для этого нажимаем кнопку «Office», выбираем кнопку «Параметры Excel», заходим в раздел «Дополнительно» и находим группу «При пересчете этой книги». Смена системы дат производится установкой/снятием флажка перед пунктом «Использовать систему дат 1904».

Как вводить дату в ячейку?

Для того, чтобы Excel воспринимал информацию, вводимую в ячейку, как дату, необходимо использовать в качестве разделителя точку, тире либо наклонную черту «/». При этом все введенные числа, меньшие 31.12, 31-12 либо 31/12 будут автоматически восприниматься как даты, а большие — как текст. Как уже говорилось выше, ячейки с датами могут использоваться в расчетах.

Для тех, кто активно работает с датами в своих таблицах, были созданы надстройки, представляющие собой календарь в Excel. Пример такой надстройки – календарь samradDatePicker. Скажем спасибо создателям этой надстройки и тем, кто доработал ее и перевел на русский язык! Надстройка упрощает ввод дат в ячейки листа Excel. После установки этой надстройки в контекстное меню (щелчок правой кнопки мыши) добавляется новый пункт «Выбрать из календаря», а при выделении ячеек, содержащих дату, справа от ячейки отображается значок календаря.

бесплатно скачать надстройку samradDatePicker для быстрого ввода дат

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

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

Выделите в окне открытого листа ячейку, в которую требуется вставить текущую дату, и нажмите сочетание клавиш Ctrl+; (точка с запятой). При нажатии этого сочетания клавиш делается своего рода «снимок» с текущей даты и вставляется в ячейку. Введенная таким способом дата не изменяется с течением времени, а остается фиксированной.

Как вставить в ячейку текущую автоматически обновляемую дату?

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

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

Другие материалы по теме:

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

Я нашел этот пример на сайте Chandoo.org и делюсь им с вами.

Интерактивный календарь в Excel

На выходе у нас должно получиться что-то вроде этого:

Создаем таблицу с событиями

На листе Расчеты создаем таблицу со всеми событиями

Настраиваем календарь

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

Задаем имя диапазону дат в календаре

Это просто, выделяем весь диапазон дат нашего календаря и в поле Имя задаем «Календарь»

Определяем ячейку с выделенной датой

На листе Расчеты выбираем пустую ячейку и задаем ей имя «ВыделеннаяЯчейка». Мы будем использовать ее для определения даты, которую выбрал пользователь. В нашем случае, это ячейка G3.

Добавляем макрос на событие Worksheet_selectionchange()

Описанный ниже код поможет идентифицировать, когда пользователь выбрал ячейку в диапазоне “Календарь”. Добавьте этот код на лист с календарем. Для этого открываем редактор VBA, нажатием Alt+F11. Копируем код ниже и вставляем его Лист1.

1
2
3
4
5

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range(«calendar»)) Is Nothing Then
= ActiveCell.Value
End If
End Sub

Настраиваем формулы для отображения деталей при выборе даты

Изменение даты на календаре ведет за собой изменение 4-х параметров отображения в анонсе: название, дата, место и описание. Зная, что дата находится в ячейке «ВыделеннаяЯчейка», воспользуемся формулами ВПР, ЕСЛИ и ЕСЛИОШИБКА для определения этих параметров. Логика формул следующая: если на выбранную дату существует событие, возвращает данные этого события, иначе возвращает пустую ячейку. Формулы с определением параметров события находятся на листе Расчеты, в ячейках G10:G13.

Добавление анонса

Наконец добавляем в лист Календарь 4 элемента Надпись и привязываем их к данным, находящихся в ячейках G10:G13 листа Расчеты.

Совет: для того, чтобы привязать значение ячейки к элементу Надпись, просто выделите элемент, в строке формул наберите G10 и щелкните Enter.

Настраиваем условное форматирование для выделенной даты

Наконец, добавьте условное форматирование, чтобы выделить даты с событиями в календаре.

Выберите диапазон дат в календаре

Переходим на вкладке Главная в группу Стили –> Условное форматирование –> Создать правило

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

Задаем правила выделения как на рисунке

Форматируем

Подчищаем рабочий лист, форматируем наш календарь и получаем классную визуализацию.

Пример рабочей книги с интерактивным календарем.

Выпадающий календарь в Excel без макросов.

​Смотрите также​ «additional controls», но​​ выбранный месяц любого​ ​=ЕСЛИ(МЕСЯЦ(ДАТА(ГОД(B2);МЕСЯЦ(B2);1)) <>МЕСЯЦ(ДАТА(ГОД(B2);МЕСЯЦ(B2);1)- (ДЕНЬНЕД(ДАТА(ГОД(B2);МЕСЯЦ(B2);1);2)-1) +{0:1:2:3:4:5}*7+{1;2;3;4;5;6;7}-1);»​​ Excel, то у​Вызывается через правую кнопку​
​ Office (Insert -​ открытым кодом VBA​Windows Date Picker​ если нужны разные​
​ этом в статье​ вставив смайлик, картинку,​ растянуть календарь на​ «Enter», а сочетание​ и год​В таблице, бланке, где​ таблицы Excel менялся​Можно сделать без​ там отсутствует «элемент​ года. Практически, вечный​ «; ДАТА(ГОД(B2);МЕСЯЦ(B2);1)- (ДЕНЬНЕД(ДАТА(ГОД(B2);МЕСЯЦ(B2);1);2)-1)​ вас есть много​
​ мыши по ячейке​ Office Apps Store)​ — можно посмотреть​Автор​ даты из прошлого​ «Что такое диапазон​ фото, фигуру, т.д.​ лист формата А4,​ клавиш «Ctrl» +​
​нам поможет формула​ будем устанавливать такой​ автоматически» тут.​ макросов простой​ управления календарь». Подскажите​ календарь ;)​ +{0:1:2:3:4:5}*7+{1;2;3;4;5;6;7}-1)​​ разных способов -​ -​.​ как всё устроено​: Ron de Bruin​
​ или будущего, то​ в Excel».​ Как вставить и​ т.д. Получилось так.​​ «Shift» + «Enter»,​ массива Excel. про​ календарь, сделаем ячейки​Все это можно​выпадающий календарь в​ пожалуйста, что сделать,​acid26sk​В английском варианте это​ от кропотливого вбивания​​Pick from calendar​​Вставляется на лист как​​ и модернизировать «под​Цена​ вбивать их руками​В Excel можно​ обработать картинки, фотографии,​
​Условным форматированием подкрасили цвет​ п.ч. это формула​ формулы массива, что​ поуже, по размеру​ написать быстро копированием.​

Выпадающий календарь в Excel.

​Excel​ для того, чтобы​: Как сделать выбор​ будет:​ дат вручную до​или с помощью​ постоянный графический объект​ себя». Но надо​
​: бесплатно​
​ долго.​ построить горизонтальную диаграмму,​ написать красивый текст,​ шрифта суббот и​ массива. Поучилось так.​ это такое, как​ чисел, названию месяца.​

excel-office.ru

Как создать календарь в Excel формулой.

​ Как это сделать,​ ​. Для этого установим​ ​ в «additional controls»​ даты в ячейке?​​=IF(MONTH(DATE(YEAR(B2),MONTH(B2),1)) <>MONTH(DATE(YEAR(B2),MONTH(B2),1)- (WEEKDAY(DATE(YEAR(B2),MONTH(B2),1))-1) +{0;1;2;3;4;5}*7+{1,2,3,4,5,6,7}-1),””,​ подключения всплывающих календарей​ удобного всплывающего значка​ и добавляет выбранную​ копировать код в​Ссылка​К сожалению, в стандартном​
​ которая будет отражать​ т.д., смотрите в​ воскресений. Как установить​Здесь получилась лишняя пустая​ ее вводить, читайте​В списке месяцев​ смотрите в статье​ выпадающие списки.​
​ появился «элемент управления​Nic70y​ DATE(YEAR(B2),MONTH(B2),1)- (WEEKDAY(DATE(YEAR(B2),MONTH(B2),1))-1) +{0;1;2;3;4;5}*7+{1,2,3,4,5,6,7}-1)​​ из различных надстроек​ календарика справа от​
​ дату в любую​ каждый используемый файл​Устанавливается как надстройка (есть​ арсенале средств Excel​ данные по шкале​
​ статье «Как вставить​
​ условное форматирование, читайте​ строка, но это​ в статье «Формулы​ можно название месяцев​ «Копирование в Excel»​Как сделать выпадающие​ календарь»? Спасибо.​
​: Это как? Выбор​Затем нажмите сочетание​ и макросов. Еще​ ячейки с датой.​ выделенную предварительно ячейку.​ и вызывать нажатием​ версии для старых​
​ нет встроенного выпадающего​ времени. — это​
​ в Excel фото,​ в статье «Условное​ в этом месяце.​ массива Excel» здесь.​​ написать в падеже​ здесь. Получились такие​ списки, смотрите в​Black__Hole​ из чего?​Ctrl+Shift+Enter​​ один вариант -​
​Красивый дизайн, отображение количества​Умеет менять стандарты недели,​ на кнопку или​ Excel 200-2003 и​ календаря (в отличие​ диаграмму Ганта. Диаграмма​ картинку».​
Как сделать календарь в Excel формулой.​ форматирование в Excel»​ Бывает, что месяц​Сначала нужно нарисовать​ – января, февраля.​ списки.​ статье «Выпадающий список​: Импортируйте календарь из​acid26sk​, чтобы ввести эту​ реализовать универсальный календарь​ дней до выбранной​ отображать номера недель,​
Календарь в Excel на месяц. ​ сочетанием клавиш, т.е.​​ для новых Excel​ от Word), да​ ганта применяется при​Картинки для календаря​ тут. Можно условным​ начинается с субботы,​ таблицу для чисел.​ Получится так.​Присвоим имена этим спискам.​ в Excel».​
​ вложения и пользуйтесь​: Ну я хочу​ формулу как формулу​ на любую дату​ даты от текущей.​ вводить не только​ универсальность хромает.​ 2007-2010 и, отдельно,​ еще и в​ планировании, отслеживании отдельных​ можно скачать здесь.​ форматированием настроить календарь​
​ воскресенья, т.д., тогда​ Как это сделать,​
​Можно вместо названия​ Как присвоить имя​Сначала сделаем на​​ на здоровье!​
​ чтобы я нажав​ массива. Все выделенные​ с помощью всего​Использует USA-стандарт недели (отображает​ дату, но и​
​Удобная система прокрутки лет​ для Excel 2013.​ последних версиях, начиная​ этапов работы какого​Скачать готовый вечный календарь​ так, что будет​ заняты все строки.​ сколько и каких​ месяца указать в​ диапазону списка, смотрите​ отдельном листе списки​Olga-22​ на ячейку увидел​
​ ячейки должны заполнится​ одной (правда, весьма​ неделю с воскресенья).​ время.​ и месяцев.​Вызывается через контекстное меню​ с Excel 2007,​ -нибудь проекта. Мы​ в Excel на​ выделяться сегодняшнее число​Переходим к оформлению​ ячеек брать, т.д.,​ списке номер месяца​ в статье «Диапазон​ в столбцах для​: Скажите, а в​

excel-office.ru

Всплывающий календарь

​ календарик и выбрал​ датами заданного в​ страшной с непривычки)​Настроек нет.​Есть возможность задавать темы​Российскую неделю (с понедельника)​ ячейки (правой кнопкой​​ Microsoft зачем-то убрала​​ рассмотрели, как, с​​ любой год​​ шрифтом или цветом​ календаря.​ смотрите в статье​ с точкой –​ в Excel».​ выпадающего календаря. В​

​ какую папку эти​ дату на нем,​ B2 месяца:​ формулы массива.​Установка надстроек:​ оформления.​ знает.​ мыши по ячейке​ из стандартного комплекта​ помощью диаграммы Ганта,​тут.​ ячейки.​Объединим ячейки В20:Н20.​ «Как сделать календарь​

​ 01., 02. И​Смотрим в диспетчере​ одном столбце напишем​ два вложения импортировать?​ и она автоматически​Останется только навести внешний​Чтобы ее использовать создайте​в Excel 2003 и​Нет кнопки перехода к​Каких-либо настроек нет.​ — Date Picker).​

Excel календарь в ячейке ​ поставки библиотеку mscalc.osx,​
​ сделать простой график​​Как на основе​
​Календарь работает так​​ Установим формат, чтобы​
​ в Excel».​

  • ​ поставить точку у​ задач на закладке​ числа с 1​Юрий М​ прописалась​ блеск, добавив форматирование​
  • ​ на листе заготовку​ старше — меню​ текущему дню.​Mini Calendar and Date​
  • ​Позволяет вставлять дату в​ которая позволяла быстро​ отпусков. Смотрите статью​ этого календаря, сделать​
  • ​– меняем название​ показывал только месяц​На листе Excel​

Excel календарь в ячейке ​ чисел. Тогда получится​
​ «Формулы» перечень имен​​ до 31. Во​
​: Olga-22, Вы по​​acid26sk​
​ и скрыв день​

  • ​ вот такого вида:​Сервис — Надстройки -​Date Picker​ Picker​ нескольких форматах, вплоть​ создать пользовательскую форму​ «Диаграмма Ганта в​ календарь в Word,​ месяца и года​ и год.​ сделаем заготовку для​ так.​
  • ​ списков.​ втором столбце напишем​
  • ​ этой ссылке смотрели​: или типо календарика​
  • ​ в заголовке B2​
Excel календарь в ячейке ​Дата в ячейке B2​ Обзор (Tools -​
​Автор​​Автор​
​ до номера недели​​ с календарем.​
​ Excel».​ смотрите в статье​

  • ​ в ячейках В20:Н20.​Выделим диапазон ячеек В22:Н27.​ календаря на месяц.​Распечатываться будет так.​Теперь на другом листе​​ название месяцев. В​ календарь? Почитайте P.S.​Nic70y​​ и месяц и​
  • ​ может быть любой,​ Add-ins — Browse)​: Sam Radakovitz, руководитель​: VERTEX​ (по разным стандартам).​
  • ​Естественно, это «узкое место»​Если вам часто приходится​ «Календарь в Word».​ И появляется календарь​ Заходим в «Формат​
  • ​В ячейке В20 можно​Далее рассмотрим, как​
  • ​ делаем обычные выпадающие​ третьем столбце напишем​
Excel календарь в ячейке ​ перед комментариями.​
​: Почитайте тут: http://www.excelworld.ru/forum/2-3852-1​​ год в остальных​ тут важен только​в Excel 2007 и​
​ команды программистов Excel​​Цена​
​Автоматически подстраивается под российский​ не осталось без​ вводить даты в​В Excel можно​ на новый месяц.​

  • ​ ячеек». Нажимаем на​
  • ​ написать любую дату.​ сделать календарь на​ списки через функцию​​ года в порядке​​EducatedFool​Olga-22​ ячейках с помощью​ месяц и год.​
  • ​ новее -​ в Microsoft​: бесплатно.​
  • ​ стандарт недели (с​ внимания опытных пользователей​
  • ​ ячейки листа, то​

P.S.

​ установить формулы в​

  • ​ Например, в ячейке,​ функцию «(все форматы)».​​Теперь выделяем диапазон​ любой месяц любого​ «Проверка данных» на​
  • ​ возрастания.​:​​: Хочу сделать в​ окна​ В ячейках диапазона​Файл — Параметры -​Цена​Ссылка в Office​

planetaexcel.ru

Универсальный календарь формулой

​ понедельника).​ и экспертов Excel​ делать это вручную​ определенный диапазон ячеек,​ где написано «Апрель​ Ставим букву «Д»​ ячеек В22:Н27 и​ года (вечный календарь)​ закладке «Данные» в​Мы сделали в​Black__Hole​ ячейке Excel 2007​Формат ячеек (Ctrl+1)​ B3:H3 могут быть​ Надстройки — Перейти​: бесплатно​ Apps Store​

​Excel Date Picker​ MVP, которые оперативно​ неудобно. Для ввода​

Excel календарь в ячейке

​ настроить формат, др.​ 2015» напишем «Май​ в строке «Тип».​ сразу нажимаем знак​ формулой. Смотрите статью​ разделе «Работа с​ списке года с​: Скажите, а в​ выпадающий календарь для​

​:​ названия дней недели​ — Обзор (File​

​Сайт автора умер,​Работает только в Excel​Автор​

​ создали несколько интерактивных​ именно сегодняшней даты​

​ Чтобы при необходимости​ 2015». Появится календарь​

​Нажимаем «ОК».​​ равно и пишем​​ «Как создать календарь​ данными». Получились списки​ 1950 по 2050.​ какую папку эти​ ввода дат. Следуя​Теперь, меняя дату в​

Excel календарь в ячейке

​ в любом подходящем​ — Options -​ ссылки не работают,​ 2013, добавляется через​: Jim Cone​ календарей на макросах​ можно воспользоваться функцией​ быстро найти эти​​ на май 2015г.​​Теперь изменим ширину​

Excel календарь в ячейке

​ формулу массива.​ в Excel формулой».​ с полосами прокрутки.​ Список годов можно​ два вложения импортировать?{/post}{/quote}​ пошаговой инструкции (по​ ячейке B2, мы​ формате.​

planetaexcel.ru

Как сделать выбор даты в ячейке? (Формулы)

​ Add-ins — Go​​ но можно скачать​ магазин приложений Office​

​Цена​​ для удобного ввода​СЕГОДНЯ (TODAY)​

​ ячейки и изенить​​В календаре можно​ ячеек, цвет шрифта,​=ЕСЛИ(МЕСЯЦ(ДАТА(ГОД(B20);МЕСЯЦ(B20);1))<>МЕСЯЦ(ДАТА(ГОД(B20);МЕСЯЦ(B20);1)-(ДЕНЬНЕД(ДАТА(ГОД(B20);МЕСЯЦ(B20);1);2)-1)+{0:1:2:3:4:5}*7+{1;2;3;4;5;6;7}-1);» «;ДАТА(ГОД(B20);МЕСЯЦ(B20);1)-(ДЕНЬНЕД(ДАТА(ГОД(B20);МЕСЯЦ(B20);1);2)-1)+{0:1:2:3:4:5}*7+{1;2;3;4;5;6;7}-1)​Создать​ Получился такой​ менять, добавлять в​В проект -​

​ разделу сайта «приёмы:​​ будем получать по​

​Теперь выделите диапазон B4:H9​​ To — Browse)​

excelworld.ru

Выпадающий календарь для ввода дат

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

​ когда-то копию здесь.​​ вкладке​Ссылка​ неплохих, на мой​

​Ctrl+;​​ диапазону присваивают имя.​ просто украсить календарь,​ дней, т.д. Можно​

​ нажимаем не просто​​Excel на любой месяц​без макросов.​ статью «Чтобы размер​ в нужные папки​

​ ввода дат») вызываю​​ календарь на любой​

​ вот такую формулу:​​ на листе Microsoft​Устанавливается как надстройка.​Вставка — Приложения для​

​Макрос (не надстройка!) с​ взгляд, бесплатных вариантов:​или макросом, но​

planetaexcel.ru

​ Подробнее читайте об​

Выпадающий календарь в ячейке листа Excel

Надстройка samradDatePicker (русифицированная) для облегчения ввода даты в ячейки листа Excel.

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

Поместите файл надстройки из вложения в папку автозагрузки Excel (C:Program FilesMicrosoft OfficeOFFICExxXLSTART).

В контекстном меню ячеек появляется новый пункт — «Выбрать дату из календаря«.
Рядом с ячейками, в которые уже введена дата, будет отображаться маленький календарик, щелчок по которому вызовет большой календарь — для выбора даты.

Второй прикреплённый к статье файл — та же надстройка, только в которой неделя начинается с понедельника (в оригинале надстройки — с воскресенья)

Пароль на проект VBA — 1 (единица)

PS: Этот макрос написал не я (автор — samrad)
Файл с макросом взят на просторах интернета.
Поскольку макрос делал не я, — доработками его я не занимаюсь, никаких гарантий работы дать не могу, по использованию не консультирую.

Выбор даты из всплывающего календаря

Описание работы

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

Чтобы вставить дату из всплывающего календаря в любой ячейке Excel можно использовать надстройку VBA-Excel. Для этого:

  1. Выделить ячейку в которую необходимо вставить дату.
  2. Перейти на вкладку VBA-Excel.
  3. Выбрать команду Вставить дату.
  4. В диалоговом окне Календаря выбрать нужную дату.

Работа с формой календаря

Форма календаря имеет достаточно широкий функционал.

  • Можно быстро перейти к текущему числу.
  • Быстро переключить месяц путем выбора его из списка.
  • Изменять год с помощью переключателей.
  • При выборе даты отображаются дни недели и подсвечиваются выходные дни.
  • Вы можете вызвать окно ввода даты и продолжать работать с данными. Закрывать окно нет необходимости.
  • Закрыть календарь можно в любой момент путем нажатия на крестик в правом верхнем углу.

Всплывающий календарь

Если вам часто приходится вводить даты в ячейки листа, то делать это вручную неудобно. Для ввода именно сегодняшней даты можно воспользоваться функцией СЕГОДНЯ (TODAY), сочетанием клавиш Ctrl+; или макросом, но если нужны разные даты из прошлого или будущего, то вбивать их руками долго.

К сожалению, в стандартном арсенале средств Excel нет встроенного выпадающего календаря (в отличие от Word), да еще и в последних версиях, начиная с Excel 2007, Microsoft зачем-то убрала из стандартного комплекта поставки библиотеку mscalc.osx, которая позволяла быстро создать пользовательскую форму с календарем.

Естественно, это «узкое место» не осталось без внимания опытных пользователей и экспертов Excel MVP, которые оперативно создали несколько интерактивных календарей на макросах для удобного ввода дат. Вот подборка неплохих, на мой взгляд, бесплатных вариантов:

Windows Date Picker
Автор: Ron de Bruin
Цена: бесплатно
Ссылка

  • Устанавливается как надстройка (есть версии для старых Excel 200-2003 и для новых Excel 2007-2010 и, отдельно, для Excel 2013.
  • Вызывается через контекстное меню ячейки (правой кнопкой мыши по ячейке — Date Picker).
  • Позволяет вставлять дату в нескольких форматах, вплоть до номера недели (по разным стандартам).
  • Автоматически подстраивается под российский стандарт недели (с понедельника).

Excel Date Picker
Автор: Jim Cone
Цена: бесплатно
Ссылка

  • Макрос (не надстройка!) с открытым кодом VBA — можно посмотреть как всё устроено и модернизировать «под себя». Но надо копировать код в каждый используемый файл и вызывать нажатием на кнопку или сочетанием клавиш, т.е. универсальность хромает.
  • Удобная система прокрутки лет и месяцев.
  • Российскую неделю (с понедельника) знает.
  • Каких-либо настроек нет.

  • Работает только в Excel 2013, добавляется через магазин приложений Office App Store на вкладке Вставка — Приложения для Office (Insert — Office Apps Store).
  • Вставляется на лист как постоянный графический объект и добавляет выбранную дату в любую выделенную предварительно ячейку.
  • Умеет менять стандарты недели, отображать номера недель, вводить не только дату, но и время.
  • Есть возможность задавать темы оформления.
  • Нет кнопки перехода к текущему дню.

Date Picker
Автор: Sam Radakovitz, руководитель команды программистов Excel в Microsoft
Цена: бесплатно
Сайт автора умер, ссылки не работают, но можно скачать заботливо сохраненную мной когда-то копию здесь.

  • Устанавливается как надстройка.
  • Вызывается через правую кнопку мыши по ячейке — Pick from calendar или с помощью удобного всплывающего значка календарика справа от ячейки с датой.
  • Красивый дизайн, отображение количества дней до выбранной даты от текущей.
  • Использует USA-стандарт недели (отображает неделю с воскресенья).
  • Настроек нет.
  • в Excel 2003 и старше — меню Сервис — Надстройки — Обзор (Tools — Add-ins — Browse)
  • в Excel 2007 и новее — Файл — Параметры — Надстройки — Перейти — Обзор (File — Options — Add-ins — Go To — Browse)

Трюк №89. Как добавить элемент управления Календарь в любую рабочую книгу Excel

Для гарантии правильности ввода дат пользователями элемент управления Excel Календарь (Calendar) может упростить ситуацию как для вас, так и для пользователей, работающих с вашей электронной таблицей. При помощи этого трюка можно добавить элемент управления Календарь (Calendar) в любую рабочую книгу Excel.

Если дата введена неправильно, Excel не сможет ее распознать. Иногда это означает, что вы не можете выполнять вычисления с числами, выглядящими как даты, но датами не являющимися. Кроме того, это означает, что любые диаграммы или сводные таблицы, которые основываются на этих данных, будут неверными. Хотя решить эту проблему может весьма разностороннее средство проверки данных Excel, оно также далеко от совершенства.

При помощи этого трюка можно добавить элемент управления Календарь (Calendar) в любую рабочую книгу Excel. Для начала откройте рабочую книгу, куда собираетесь добавить календарь. Лучше использовать ваш файл Personal.xls, который можно открыть командой Файл → Открыть (File → Open). Если этот пункт меню недоступен, значит, у вас пока нет файла Personal.xls. Можно создать его, записав пустой макрос. Для этого выберите команду Разработчик → Начать запись (Developer → Record New Macro) и в поле Сохранить в (Store Macro In) выберите вариант Личная книга макросов (Personal Macro Workbook). Затем щелкните на кнопке ОК, выделите любую ячейку и остановите запись. Excel автоматически создаст файл Personal.xls.

Выберите команду Разработчик → Редактор Visual Basic (Developer → Visual Basic Editor) (сочетание клавиш Alt/Option+Fll) и в VBE выберите команду Insert → UserForm. Должна появиться панель инструментов Control. (Если панель не открылась, выберите команду View → Toolbox.) Правой кнопкой мыши щелкните панель инструментов Control и в контекстном меню выберите команду Additional Controls. Прокрутите список до флажка Элемент управления Календарь 10.0 (Calendar Control 10.0) (номер версии зависит от версии Excel). Установите этот флажок и щелкните на кнопке ОК. Щелкните календарь, который теперь представляет собой часть панели инструментов, а затем щелкните форму UserForm, которую добавили ранее. При помощи маркеров изменения размера формы UserForm и элемента управления Календарь (Calendar) отрегулируйте их размер.

Удостоверьтесь, что форма UserForm выделена, и выберите команду View → Properties Window (клавиша F4). В окне Properties выберите Caption и замените слово UserForml словом Calendar. Теперь выберите команду View → Code (клавиша F7) и в частном модуле введите код, приведенный в листинге 7.14.

//Листинг 7.14 Private Sub Calendar1_Click() ActiveCell = Calendar1.Value End Sub Private Sub UserForm_Activate() Me.Calendar1.Value = Date End Sub

Выберите команду Insert → Module и в общем модуле введите код из листинга 7.15.

//Листинг 7.15 Sub ShowIt() UserForm1.Show End Sub

Закройте окно, чтобы вернуться в Excel. Выберите команду Разработчик > Макрос → Макросы (Developer > Macro → Macros) (сочетание клавиш Alt+F8) и затем выберите ShowIt. Щелкните кнопку Параметры (Options) и назначьте макросу клавишное сочетание — все готово. Нажмите выбранное сочетание клавиш, раскроется календарь с выбранной сегодняшней датой. Щелкните любую дату, и она будет вставлена в активную ячейку.

Excel выпадающий календарь

Была такая тема писал уже макрос да чтото не могу найти чтобы ссыл кинуть
А вот файлик остался

Тут вызывается календарь не во всех ячейках а только по столбцам H, J, G (я думаю труда не составит поправить под свои нужды, но если надо переделаю)

На лист 1
Private Sub CommandButton1_Click()
UserForm1.Top = ActiveCell.Top
UserForm1.Left = ActiveCell.Left
UserForm1.Show
End Sub


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
result = False
s = ActiveCell.Address(RowAbsolute:=False, columnabsolute:=False, ReferenceStyle:=xlA1)
result = (s Like «H*») Or (s Like «J*») Or (s Like «G*»)
CommandButton1.Left = ActiveCell.Left + ActiveCell.Width
CommandButton1.Top = ActiveCell.Top
If result = True Then CommandButton1.Visible = True Else CommandButton1.Visible = False
End Sub

Добавляем форму, на нее Calendar Control из комплекта офиса
и код
Private Sub Calendar1_Click()
s1 = Calendar1.Day
s2 = Calendar1.Month
s3 = Calendar1.Year
ActiveCell = DateSerial(s3, s2, s1)
Calendar1.Today
UserForm1.Hide
End Sub


Private Sub UserForm_Initialize()
Load UserForm1
UserForm1.Hide
End Sub

Удачи с экспериментами

Excel выпадающий календарь

Не силен в vba. Прошу строго не судить.

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

Вопрос. Что необходимо изменить в коде календаря, чтобы результат (выбранная дата) прописывался не в ячейку на листе, а передавался в определенную переменную? Указанную переменную я потом успешно смог бы использовать в выводе где угодно: хоть в Label, хоть TextBox, хоть в любой нужной мне ячейке на листе.

В модуле класса DateClass Найдите строку:

и вместо ActiveCell.Value укажите имя глобальной переменной к примеру CurrentDate

объявить глобальную переменную необходимо в простом модуле :

Public CurrentDate As Date

C переменной получилось. Спасибо большое.

В процессе работы с календарем возник еще один вопрос.
Когда кликаю на кнопку, вызываю DateForm.Show, всплывает календарь. Выбираю нужную дату, дата успешно прописывается в Label. Но чтобы закрыть календарь, необходимо еще раз кликнуть на выбранную дату. Т.е. календарь закрывается только при повторном клике на выбранной дате.

Можно ли как-то настроить, чтобы календарь закрывался при одном клике на выбранной дате?

Вот как должна выглядеть процедура на клик мыша в модуле класса DateClass:

В Вашей версии ActiveCell.Value заменено на глобальную переменную. Строка Unload DateForm в конце процедуры удаляет календарь.

Alex_ST, Отвечу по пунктам:

1. Понты — В давние времена у меня был металлический перекидной календарь, год там был четыре цифры в окошках. Согласись прикольно.
2. Вот накой немодальный вызов — вызвал — дату выбрал — календарь ушел — дата осталась. Я понимаю процесс какой обсчитывать, думаю это лишнее. Тем более открывается быстро и возвращает дату из активной ячейки.
3. Поюзаю, подумаю, если много не переписывать добавлю.
4. Вот накой козе баян? Если вызывать из пустой ячейки позицирует на текущей дате, зачем еще кнопка — Алекс пустое, тем более даты можно выбрать двумя кликами.

1. Ну, это на любителя. Поэтому в своей доработке я окошечки сдвинул поближе друг к другу.
2. Немодальный вызов удобен если обрабатываешь табличку с несколькими датами. Тогда в Activecell значение из календаря вносить можно даблкликом по нужной дате. А закрывать форму после изменения всех нужных дат — «крестиком»
3. С прокруткой через месяцы по годам получилось очень удобно. Вряд ли кто будет против такой фичи возражать.
4. Не согласен. Если, листая даты далеко ушёл от «сегодня», то удобнее к нему возвратиться по спец.кнопочке чем вспоминать «а что у нас сегодня?» и опять листать до нужной даты (ведь вставка запрещена).

И к стати, ты, я смотрю, даже не посмотрел, как я упростил формулы. А там здорово сократилось и окультурилось всё

Alex_ST, не смотрел потому что zip в запрете.

Like this post? Please share to your friends:
  • Как создать календарь в excel формулой
  • Как создать иерархию в word
  • Как создать календарь в excel на год
  • Как создать иерархию в excel
  • Как создать календарь в excel 2010