Календарь в ячейке в excel
Excel календарь в ячейке
Выпадающий календарь в Excel без макросов.
Excel для того, чтобы: Как сделать выбор будет: дат вручную доили с помощью постоянный графический объект себя». Но надо
: бесплатно
долго. построить горизонтальную диаграмму, написать красивый текст, шрифта суббот и массива. Поучилось так. это такое, как чисел, названию месяца.
Как создать календарь в Excel формулой.
Всплывающий календарь
календарик и выбрал датами заданного в страшной с непривычки)Настроек нет.Есть возможность задавать темыРоссийскую неделю (с понедельника) ячейки (правой кнопкой Microsoft зачем-то убрала рассмотрели, как, с любой год шрифтом или цветом календаря. смотрите в статье с точкой – в Excel». выпадающего календаря. В
какую папку эти дату на нем, B2 месяца: формулы массива.Установка надстроек: оформления. знает. мыши по ячейке из стандартного комплекта помощью диаграммы Ганта,тут. ячейки.Объединим ячейки В20:Н20. «Как сделать календарь
01., 02. ИСмотрим в диспетчере одном столбце напишем два вложения импортировать? и она автоматическиОстанется только навести внешнийЧтобы ее использовать создайтев Excel 2003 иНет кнопки перехода кКаких-либо настроек нет. — Date Picker).
установить формулы в
- Например, в ячейке, функцию «(все форматы)».Теперь выделяем диапазон любой месяц любого «Проверка данных» на
- возрастания.:: Хочу сделать в окна В ячейках диапазонаФайл — Параметры -ЦенаСсылка в Office
Универсальный календарь формулой
понедельника). и экспертов 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 формулой». с полосами прокрутки. Список годов можно два вложения импортировать? пошаговой инструкции (по ячейке B2, мы формате.
Как сделать выбор даты в ячейке? (Формулы)
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)
Выпадающий календарь для ввода дат
заботливо сохраненную мной App Store на: бесплатно дат. Вот подборка, сочетанием клавиш или убрать формулы, отметить дату или заливки ячеек выходныхКогда ввели формулу,календарь ввыпадающий календарь в Excel него года. Смотрите файлы сами попадут выпадающий календарь для нашей формуле корректный и введите тудаЕсли вам нужен календарь
когда-то копию здесь. вкладкеСсылка неплохих, на мой
Ctrl+; диапазону присваивают имя. просто украсить календарь, дней, т.д. Можно
нажимаем не простоExcel на любой месяцбез макросов. статью «Чтобы размер в нужные папки
ввода дат») вызываю календарь на любой
вот такую формулу: на листе MicrosoftУстанавливается как надстройка.Вставка — Приложения для
Макрос (не надстройка!) с взгляд, бесплатных вариантов:или макросом, но
Выбор даты из всплывающего календаря
Описание работы
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)
Календарь в ячейке в 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 в запрете.
Календарь в ячейке в excel
Выпадающий календарь для ввода дат
Наша задача — добавить в книгу Excel пользовательскую форму (окно) с автоматическим календарем. Вот такое:
Окошко будет появляться при нажатии сочетания клавиш и после выбора в нем нужной даты — она попадает в текущую ячейку листа. Просто и красиво!
Откройте редактор Visual Basic через меню Сервис — Макрос — Редактор Visual Basic (Tools — Macro — Visual Basic Editor).
Создайте в нем новую пустую пользовательску форму, выбрав в меню Insert — User form .
Автоматически должна появиться панель Toolbox :
Если не появилась — жмите в меню View — Toolbox .
На этой панели представлены различные управляющие элементы окон: кнопки, списки, счетчики и т.д. Но нам нужен элемент (календарь), которого пока на панели не видно. Чтобы добавить его, щелкните по серому фону панели правой кнопкой мыши и выберите Additional Controls . Появится вот такое окно:
В нем надо найти и отметить Элемент управления Календарь 11.0 (Calendar Control 11.0). Версии могут отличаться (11.0, 10.0 и т.д.) в зависимости от версии Microsoft Office, это несущественно. После нажатия на ОК на панели появится новая кнопка — Calendar :
Щелкните по ней, а затем нарисуйте календарь на поле формы, удерживая нажатой левую кнопку мыши:
При желании подправьте размеры формы и календаря и введите текст заголовка окна в панели свойств слева.
Теперь переключитесь в режим ввода программного кода созданной формы (меню View — Code ) и скопируйте туда этот текст:
Private Sub Calendar1_Click()
ActiveCell = Calendar1.Value
ActiveCell.NumberFormat=»dd/mm/yy»
End Sub
Private Sub UserForm_Activate()
Me.Calendar1.Value = Date
End Sub
Теперь надо заставить Excel показывать нам созданную форму, когда мы этого захотим. Для этого вставьте новый модуль ( Insert — Module ) и скопируйте туда этот текст:
Sub ShowCalendar()
UserForm1.Show
End Sub
Осталось закрыть редактор Visual Basic и, вернувшись в Excel, назначить созданному макросу ShowCalendar любое подходящее сочетание клавиш (меню Сервис — Макрос — Макросы — кнопка Параметры ).
Если у Вас установлена не полная версия Office, то элемента управления Календарь может не оказаться в списке Additional Controls . Тогда скачайте этот файл (MSCal.ocx.zip) , поместите его в папку C:Windowssystem32 и зарегистрируйте новый элемент управления через меню Пуск — Выполнить , далее набрать Regsvr32 c:windowssystem32mscal.ocx и нажать ОК .
(За дополнение спасибо Vadim )
Если Вы хотите, чтобы календарь автоматически появлялся на экране, когда пользователь выделяет определенные ячейки (диапазон) на листе, то щелкните правой кнопкой мыши по ярлычку этого листа и выберите Исходный текст (View Source). В открывшееся окно редактора Visual Basic скопируйте следующий код:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Not Application.Intersect(Range(«A1:A20»), Target) Is Nothing Then
UserForm1.Show
End If
End Sub
Теперь при выделении любой ячейки из диапазона А1:А20 календарь будет автоматически отображаться на экране.