Всплывающий календарь
Если вам часто приходится вводить даты в ячейки листа, то делать это вручную неудобно. Для ввода именно сегодняшней даты можно воспользоваться функцией СЕГОДНЯ (TODAY), сочетанием клавиш Ctrl+; или макросом, но если нужны разные даты из прошлого или будущего, то вбивать их руками долго.
К сожалению, в стандартном арсенале средств Excel нет встроенного выпадающего календаря (в отличие от Word), да еще и в последних версиях, начиная с Excel 2007, Microsoft зачем-то убрала из стандартного комплекта поставки библиотеку mscalc.osx, которая позволяла быстро создать пользовательскую форму с календарем.
Естественно, это «узкое место» не осталось без внимания опытных пользователей и экспертов Excel MVP, которые оперативно создали несколько интерактивных календарей на макросах для удобного ввода дат. Вот подборка неплохих, на мой взгляд, бесплатных вариантов:
Windows Date Picker Автор: Ron de Bruin Цена: бесплатно Ссылка
|
|
Excel Date Picker Автор: Jim Cone Цена: бесплатно Ссылка
|
|
Mini Calendar and Date Picker Автор: VERTEX Цена: бесплатно. Ссылка в Office Apps Store
|
|
Date Picker Автор: Sam Radakovitz, руководитель команды программистов Excel в Microsoft Цена: бесплатно Сайт автора умер, ссылки не работают, но можно скачать заботливо сохраненную мной когда-то копию здесь.
|
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, которые оперативно создали несколько интерактивных календарей на макросах для удобного ввода дат. Вот подборка неплохих, на мой взгляд, бесплатных вариантов:
Windows Date Picker Автор: Ron de Bruin Цена: бесплатно Ссылка
|
|
Excel Date Picker Автор: Jim Cone Цена: бесплатно Ссылка
|
|
Mini Calendar and Date Picker Автор: VERTEX Цена: бесплатно. Ссылка в Office Apps Store
|
|
Date Picker Автор: Sam Radakovitz, руководитель команды программистов Excel в Microsoft Цена: бесплатно Сайт автора умер, ссылки не работают, но можно скачать заботливо сохраненную мной когда-то копию здесь.
|
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
Внимание: отмена последнего действия (UNDO) невозможна. Рекомендуем сохранять резервную копию файлов или использовать «Контроль версий» XLTools для отслеживания изменений.
Как вставить или изменить дату в ячейке с помощью «Всплывающего календаря»
- Выберите ячейку.
- В группе Дата/Время нажмите на кнопку «Вставить дату» > Календарь всплывёт рядом с ячейкой.
Или: по правому клику мыши выберите пункт «Вставить дату».
Или: используйте сочетание клавиш Ctrl+; (точка с запятой на английской раскладке). - Выберите нужную дату из календаря > Готово.
Обратите внимание на формат: это то, что вам нужно? Вы можете изменить формат даты по умолчанию. - Чтобы изменить значение даты, нажмите на иконку календаря справа от ячейки > Измените дату.
«Всплывающий календарь» запоминает последнюю использованную дату, чтобы вам было проще вводить следующую дату.
Внимание: после ввода даты, ячейке автоматически присваивается формат Число/Дата. Если вы позднее удалите значение из ячейки, сама ячейка сохранит свой формат Дата, а иконка календаря для этой пустой ячейки останется доступной. Чтобы убрать иконку, измените формат ячейки на Общий.
Как из календаря вставить текущую дату в ячейку
- Выберите ячейку, в которую нужно вставить текущую дату.
- В группе Дата/Время нажмите на кнопку «Вставить дату» > Календарь появится рядом с ячейкой.
Или: по правому клику мыши выберите пункт «Вставить дату».
Или: используйте сочетание клавиш Ctrl+; (точка с запятой на английской раскладке). - Нажмите по надписи «Сегодня» в нижней части календаря > Готово.
Как заполнить датами целый столбец, строку или несмежные диапазоны
С помощью «Всплывающего календаря» вы можете заполнить значениями дат целый диапазон (ограничение до 4000 ячеек). Даты можно вставить в столбцы таблицы, строки, объединённые ячейки или любой произвольный диапазон точно так же, как одну ячейку:
- Выберите диапазон.
- В группе Дата/Время нажмите на кнопку «Вставить дату» > Появится всплывающий календарь.
Или: по правому клику мыши выберите пункт «Вставить дату».
Или: используйте сочетание клавиш Ctrl+; (точка с запятой на английской раскладке). - Выберите дату > Готово. Весь диапазон заполнен значением выбранной даты.
Совет: узнайте, как заполнить ячейки последовательными датами. - Чтобы изменить значение даты, нажмите на иконку календаря справа от ячейки > Измените дату.
Внимание: после ввода даты, ячейкам автоматически присваивается формат Число/Дата. Если вы позднее удалите значения из ячеек, сами ячейки сохранят свой формат Дата, а иконка календаря для этих пустых ячеек останется доступной. Чтобы убрать иконку, измените формат ячеек на Общий.
Как заполнить диапазон последовательными датами
С надстройкой «Всплывающий календарь» вы можете быстро заполнить диапазон последовательными датами (дни по порядку):
- Вкладка XLTools > Кнопка «Настройки» > Вкладка Дата/Время > Отметьте флажком «Включить автоувеличение дат при заполнении диапазона ячеек» > OK.
- Выберите диапазон.
- В группе Дата/Время нажмите на кнопку «Вставить дату» > Всплывающий календарь появятся рядом с ячейкой.
Или: по правому клику мыши выберите пункт «Вставить дату».
Или: используйте сочетание клавиш Ctrl+; (точка с запятой на английской раскладке). - Выберите начальную дату > Готово, весь диапазон будет автоматически заполнен последовательными значениями дат с шагом в 1 день.
Как вставить сразу и дату и время в ячейку
- Выберите ячейку.
- В группе Дата/Время нажмите на кнопку «Вставить дату и время» > Всплывающий календарь с часами появятся рядом с ячейкой.
Или: по правому клику мыши выберите пункт «Вставить дату и время».
Или: используйте сочетание клавиш: нажмите Ctrl+; (точка с запятой на английской раскладке), затем отпустите клавиши и нажмите Ctrl+Shift+; (точка с запятой на английской раскладке). - Установите время при помощи колеса прокрутки мыши или стрелок Вверх/Вниз > Выберите дату из всплывающего календаря > Готово.
Обратите внимание на формат: это то, что вам нужно? Вы можете задать другой формат по умолчанию для Всплывающего Календаря и Часов. - Чтобы изменить значение, нажмите на иконку справа от ячейки > Измените дату и время.
Внимание: после ввода даты и времени, ячейке автоматически присваивается формат Число/Дата. Если вы позднее удалите значение из ячейки, сама ячейка сохранит свой формат Дата, а иконка календаря с часами для этой пустой ячейки останется доступной. Чтобы убрать иконку, измените формат ячейки на Общий.
Как вставить только время (без даты) в ячейку
Используйте надстройку «Всплывающие часы» для установки и вставки времени в ячейки и диапазоны:
- Выберите ячейку или диапазон.
- В группе Дата/Время нажмите на кнопку «Вставить время» > Всплывающие часы появятся рядом с ячейкой.
Или: по правому клику мыши выберите пункт «Вставить время».
Или: используйте сочетание клавиш Ctrl+Shift+; (точка с запятой на английской раскладке). - Установите время при помощи колеса прокрутки мыши или стрелок Вверх/Вниз > Нажмите Ввод (Enter) > Готово.
Как изменить формат даты по умолчанию для «Всплывающего календаря»
Чтобы изменить формат, заданный по умолчанию для «Всплывающего Календаря»:
- Нажмите кнопку «Настройки» на панели XLTools > Вкладка Дата/Время.
- Отметьте флажком «По умолчанию использовать формат даты и времени, установленный ниже».
Внимание: при снятии флажка Всплывающий календарь будет использовать формат, установленный в ваших системных настройках. - Выберите подходящий формат, напр., принятый в вашей стране или на вашем языке.
Или: задайте «Свой формат». - Нажмите OK > Готово.
Вы можете обнаружить, что некоторые ячейки не подчиняются заданному формату Календаря. Это означает, что ячейкам ранее был присвоен другой формат даты. В этом случае, измените формат ячеек:
- Выберите ячейки > По правому клику мыши выберите «Формат ячеек».
- Вкладка «Число» > Формат «Дата» > Установите нужный формат даты.
Изначально Всплывающий календарь использует ваши системные настройки формата даты и времени по умолчанию. Вы можете полностью изменить настройки системы. Обратите внимание, это поменяет настройки всех учётных записей на компьютере:
- Панель управления > Часы, язык и регион > Изменение форматов даты.
- Вкладка Форматы > Установите форматы дат и времени, первого дня недели.
- Вкладка Местоположение > Укажите страну местонахождения.
- Вкладка Дополнительно > Измените язык системы > Перезагрузите компьютер.
Для вашего удобства, для «Всплывающего календаря» по умолчанию задано сочетание клавиш Ctrl+; (точка с запятой на английской раскладке) – это та же комбинация, которая используется в Excel для вставки текущей даты. Вы можете изменить горячие клавиши для «Всплывающих часов» в любое время:
Вкладка XLTools > Кнопка «Настройки» > Вкладка «Горячие клавиши» > Задайте другое сочетание > OK.
Как добавить/удалить иконку «Всплывающего календаря»
Пиктограмма (иконка) календаря появляется справа от выбранной ячейки, если для ячейки задан формат Дата. Нажатие на иконку открывает инструмент выбора даты.
- Чтобы отключить отображение иконки Календаря:
- Нажмите кнопку «Настройки» на панели XLTools > Вкладка Дата/Время.
- Снимите флажок с опции «Отображать пиктограммы Всплывающего Календаря и Часов» > OK.
- Готово! Пиктограммы перестанут отображаться, Календарь и Часы будут по-прежнему доступны для использования. Иконки можно вернуть в любое время.
- Чтобы настроить появление иконки рядом с пустыми ячейками, столбцами, строками или произвольным диапазоном:
- Выберите пустую ячейку или диапазон.
- Вкладка «Главная» > Группа «Число» > Дата > OK. Так, ячейкам будет присвоен формат даты.
Или: вставьте любую дату с помощью «Всплывающего календаря» > Нажмите кнопку Delete. Это удалит непосредственно значения, и присвоит выбранным ячейкам формат даты. - Готово! Теперь, если вы выберите какую-либо ячейку в этом диапазоне, рядом с ней появится иконка Календаря.
- Чтобы убрать иконку Календаря с пустых ячеек:
Если ячейка пуста, но иконка по-прежнему появляется, значит, что ячейке присвоен формат даты или времени. Чтобы убрать иконку с пустых ячеек, измените их формат на Общий:
- Выберите пустую ячейку или диапазон.
- Вкладка «Главная» > Группа «Редактирование» > Очистить форматы.
Или: вкладка «Главная» > Группа «Число» > Выберите «Общий» из выпадающего списка.
Или: по правому клику «Формат ячеек» > Вкладка «Число» > Выберите формат «Общий» > OK.
- Нажмите кнопку «Настройки» на панели XLTools > Вкладка Дата/Время.
- Установите или снимите флажки соответствующих опций:
- «Добавить пункт «Вставить дату» в контекстное меню»
- «Добавить пункт «Вставить время» в контекстное меню»
- «Добавить пункт «Вставить дату и время» в контекстное меню»
- Нажмите OK > Готово.
Как встроить всплывающий календарь в книгу 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?
Для задания формата даты необходимо выделить нужные ячейки, после чего перейти на вкладку «Главная», в группу «Число» и раскрыть список форматов в поле «Числовой формат».
В раскрывшемся списке доступны два числовых формата: «Краткая дата» и «Длинный формат даты». В первом случае дата отображается числами, а во втором — числами и словами. Если предложенные форматы не подходят, выбираем пункт «Другие числовые форматы…», в результате чего появляется окно «Формат ячеек».
Это окно также можно вызвать щелчком левой кнопки мыши на правый нижний уголок группы,
либо просто кликнуть правой кнопкой мыши в области выделенных ячеек и выбрать из контекстного меню пункт «Формат ячеек».
В появившемся окне «Формат ячеек» переходим на вкладку «Число» и в группе «Числовые форматы» выбираем пункт «Дата»
В правой части окна отображаются возможности данного формата, в группе «Тип» выбераем нужный способ отображения даты. Форматы даты, перед которыми стоит значок *(звездочка), зависят от даты операционной системы, форматы, перед которыми этого значка нет – не зависят.
Как задать свой собственный формат даты? Как преобразовать дату в год, месяц либо день недели?
Выделяем нужные ячейки в окне открытого листа и вызываем окно «Формат ячеек» любым из перечисленных выше способов. В окне «Формат ячеек» выбираем вкладку «Число» и в группе «Числовые форматы» выбираем пункт «Все форматы». После этого помещаем курсор в поле «Тип» и набираем код числового формата в русской раскладке клавиатуры:
— М – для отображения месяцев в виде числа от 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 |
Private Sub Worksheet_SelectionChange(ByVal Target As Range) |
Настраиваем формулы для отображения деталей при выборе даты
Изменение даты на календаре ведет за собой изменение 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 - открытым кодом VBAWindows 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-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» Бывает, что месяцСначала нужно нарисовать – января, февраля. списки. статье «Выпадающий список: Импортируйте календарь изacid26sk, чтобы ввести эту реализовать универсальный календарь дней до выбранной отображать номера недель,
сочетанием клавиш, т.е. для новых 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).
поставки библиотеку mscalc.osx, сделать простой графикКак на основе Календарь работает так Установим формат, чтобы в Excel».
|
|
чисел. Тогда получится «Формулы» перечень имен до 31. Во : Olga-22, Вы поacid26sk и скрыв день
|
|
Дата в ячейке B2 Обзор (Tools - АвторАвтор до номера недели с календарем. Excel». смотрите в статье
|
|
перед комментариями. : Почитайте тут: http://www.excelworld.ru/forum/2-3852-1 год в остальных тут важен тольков Excel 2007 и команды программистов ExcelЦена Автоматически подстраивается под российский не осталось без вводить даты вВ Excel можно на новый месяц.
|
P.S.
установить формулы в
- Например, в ячейке, функцию «(все форматы)».Теперь выделяем диапазон любой месяц любого «Проверка данных» на
- возрастания.:: Хочу сделать в окна В ячейках диапазонаФайл — Параметры -ЦенаСсылка в Office
planetaexcel.ru
Универсальный календарь формулой
понедельника). и экспертов Excel делать это вручную определенный диапазон ячеек, где написано «Апрель Ставим букву «Д» ячеек В22:Н27 и года (вечный календарь) закладке «Данные» вМы сделали вBlack__Hole ячейке Excel 2007Формат ячеек (Ctrl+1) B3:H3 могут быть Надстройки — Перейти: бесплатно Apps Store
Excel Date Picker MVP, которые оперативно неудобно. Для ввода
настроить формат, др. 2015» напишем «Май в строке «Тип». сразу нажимаем знак формулой. Смотрите статью разделе «Работа с списке года с: Скажите, а в выпадающий календарь для
: названия дней недели — Обзор (File
Сайт автора умер,Работает только в ExcelАвтор
создали несколько интерактивных именно сегодняшней даты
Чтобы при необходимости 2015». Появится календарь
Нажимаем «ОК». равно и пишем «Как создать календарь данными». Получились списки 1950 по 2050. какую папку эти ввода дат. СледуяТеперь, меняя дату в
в любом подходящем — Options - ссылки не работают, 2013, добавляется через: Jim Cone календарей на макросах можно воспользоваться функцией быстро найти эти на май 2015г.Теперь изменим ширину
формулу массива. в 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
Подробнее читайте об
Надстройка samradDatePicker (русифицированная) для облегчения ввода даты в ячейки листа Excel.
Добавляет в контекстное меня ячеек пункт выбора даты, а при выделении ячеек, содержащих дату, справа от ячейки отображает значок календаря.
Поместите файл надстройки из вложения в папку автозагрузки Excel (C:Program FilesMicrosoft OfficeOFFICExxXLSTART).
В контекстном меню ячеек появляется новый пункт — «Выбрать дату из календаря«.
Рядом с ячейками, в которые уже введена дата, будет отображаться маленький календарик, щелчок по которому вызовет большой календарь — для выбора даты.
Второй прикреплённый к статье файл — та же надстройка, только в которой неделя начинается с понедельника (в оригинале надстройки — с воскресенья)
Пароль на проект VBA — 1 (единица)
PS: Этот макрос написал не я (автор — samrad)
Файл с макросом взят на просторах интернета.
Поскольку макрос делал не я, — доработками его я не занимаюсь, никаких гарантий работы дать не могу, по использованию не консультирую.
Выбор даты из всплывающего календаря
Описание работы
Excel позволяет добавить выпадающий календарь в конкретную ячейку, но часто этого не достаточно и приходится вводить большое количество дат в разные ячейки. Не всегда удобно делать это с клавиатуры, так как при вводе хочется параллельно видеть день недели и не ошибиться в выборе даты.
Чтобы вставить дату из всплывающего календаря в любой ячейке Excel можно использовать надстройку VBA-Excel. Для этого:
- Выделить ячейку в которую необходимо вставить дату.
- Перейти на вкладку VBA-Excel.
- Выбрать команду Вставить дату.
- В диалоговом окне Календаря выбрать нужную дату.
Работа с формой календаря
Форма календаря имеет достаточно широкий функционал.
- Можно быстро перейти к текущему числу.
- Быстро переключить месяц путем выбора его из списка.
- Изменять год с помощью переключателей.
- При выборе даты отображаются дни недели и подсвечиваются выходные дни.
- Вы можете вызвать окно ввода даты и продолжать работать с данными. Закрывать окно нет необходимости.
- Закрыть календарь можно в любой момент путем нажатия на крестик в правом верхнем углу.
Всплывающий календарь
Если вам часто приходится вводить даты в ячейки листа, то делать это вручную неудобно. Для ввода именно сегодняшней даты можно воспользоваться функцией СЕГОДНЯ (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 в запрете.