Как в excel в форму вставить календарь

Содержание

  • Создание различных календарей
    • Способ 1: создание календаря на год
    • Способ 2: создание календаря с использованием формулы
    • Способ 3: использование шаблона
  • Вопросы и ответы

Календарь в Microsoft Excel

При создании таблиц с определенным типом данных иногда нужно применять календарь. Кроме того, некоторые пользователи просто хотят его создать, распечатать и использовать в бытовых целях. Программа Microsoft Office позволяет несколькими способами вставить календарь в таблицу или на лист. Давайте выясним, как это можно сделать.

Если инструкция по созданию календаря в Microsoft Excel вам покажется сложной, в качестве альтернативы рекомендуем рассмотреть веб-платформу Canva, доступную онлайн из любого браузера. Это сервис с огромной библиотекой редактируемых шаблонов различной направленности и стилистики, в числе которых есть и календари. Любой из них можно изменить на свое усмотрение либо создать таковой с нуля и затем сохранить на компьютер в предпочтительном формате или распечатать.

Создание различных календарей

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

Способ 1: создание календаря на год

Прежде всего, рассмотрим, как создать календарь за определенный год.

  1. Разрабатываем план, как он будет выглядеть, где будет размещаться, какую ориентацию иметь (альбомную или книжную), определяем, где будут написаны дни недели (сбоку или сверху) и решаем другие организационные вопросы.
  2. Для того, чтобы сделать календарь на один месяц выделяем область, состоящую из 6 ячеек в высоту и 7 ячеек в ширину, если вы решили писать дни недели сверху. Если вы будете их писать слева, то, соответственно, наоборот. Находясь во вкладке «Главная», кликаем на ленте по кнопке «Границы», расположенной в блоке инструментов «Шрифт». В появившемся списке выбираем пункт «Все границы».
  3. Ограничивание ячеек в Microsoft Excel

  4. Выравниваем ширину и высоту ячеек, чтобы они приняли квадратную форму. Для того, чтобы установить высоту строки кликаем на клавиатуре сочетание клавиш Ctrl+A. Таким образом, выделяется весь лист. Затем вызываем контекстное меню кликом левой кнопки мыши. Выбираем пункт «Высота строки».
    Переход к установки высоты строки в Microsoft Excel

    Открывается окно, в котором нужно установить требуемую высоту строки. Ели вы впервые делаете подобную операцию и не знаете, какой размер установить, то ставьте 18. Потом жмите на кнопку «OK».

    Установка высоты строки в Microsoft Excel

    Теперь нужно установить ширину. Кликаем по панели, на которой указаны наименования столбцов буквами латинского алфавита. В появившемся меню выбираем пункт «Ширина столбцов».

    Переход к установки ширины столбца в Microsoft Excel

    В открывшемся окне установите нужный размер. Если не знаете, какой размер установить, можете поставить цифру 3. Жмите на кнопку «OK».

    Установка ширины столбца в Microsoft Excel

    После этого, ячейки на листе приобретут квадратную форму.

  5. Теперь над расчерченным шаблоном нам нужно зарезервировать место для названия месяца. Выделяем ячейки, находящиеся выше строки первого элемента для календаря. Во вкладке «Главная» в блоке инструментов «Выравнивание» жмем на кнопку «Объединить и поместить в центре».
  6. Объединение ячеек в Microsoft Excel

  7. Прописываем дни недели в первом ряду элемента календаря. Это можно сделать при помощи автозаполнения. Вы также можете на свое усмотрение отформатировать ячейки этой небольшой таблицы, чтобы потом не пришлось форматировать каждый месяц в отдельности. Например, можно столбец, предназначенный для воскресных дней залить красным цветом, а текст строки, в которой находятся наименования дней недели, сделать полужирным.
  8. Форматирование ячеек в Microsoft Excel

    Lumpics.ru

  9. Копируем элементы календаря ещё для двух месяцев. При этом не забываем, чтобы в область копирования также входила объединенная ячейка над элементами. Вставляем их в один ряд так, чтобы между элементами была дистанция в одну ячейку.
  10. Элементы календаря скопированы в Microsoft Excel

  11. Теперь выделяем все эти три элемента, и копируем их вниз ещё в три ряда. Таким образом, должно получиться в общей сложности 12 элементов для каждого месяца. Дистанцию между рядами делайте две ячейки (если используете книжную ориентацию) или одну (при использовании альбомной ориентации).
  12. Крпирование ячеек в Microsoft Excel

  13. Затем в объединенной ячейке пишем название месяца над шаблоном первого элемента календаря – «Январь». После этого, прописываем для каждого последующего элемента своё наименование месяца.
  14. Установка наименования месяцев в Microsoft Excel

  15. На заключительном этапе проставляем в ячейки даты. При этом, можно значительно сократить время, воспользовавшись функцией автозаполнения, изучению которой посвящен отдельный урок.

Выставление дат в Microsoft Excel

После этого, можно считать, что календарь готов, хотя вы можете дополнительно отформатировать его на своё усмотрение.

Урок: Как сделать автозаполнение в Excel

Способ 2: создание календаря с использованием формулы

Но, все-таки у предыдущего способа создания есть один весомый недостаток: его каждый год придется делать заново. В то же время, существует способ вставить календарь в Excel с помощью формулы. Он будет каждый год сам обновляться. Посмотрим, как это можно сделать.

  1. В левую верхнюю ячейку листа вставляем функцию:
    ="Календарь на " & ГОД(СЕГОДНЯ()) & " год"
    Таким образом, мы создаем заголовок календаря с текущим годом.
  2. Вставка формулы в Microsoft Excel

  3. Чертим шаблоны для элементов календаря помесячно, так же как мы это делали в предыдущем способе с попутным изменением величины ячеек. Можно сразу провести форматирование этих элементов: заливка, шрифт и т.д.
  4. Создание макета календаря в Microsoft Excel

  5. В место, где должно отображаться названия месяца «Январь», вставляем следующую формулу:
    =ДАТА(ГОД(СЕГОДНЯ());1;1)
    Вставка формулы для января

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

    Переход в формат ячеек в Microsoft Excel

    В открывшемся окне формата ячеек переходим во вкладку «Число» (если окно открылось в другой вкладке). В блоке «Числовые форматы» выделяем пункт «Дата». В блоке «Тип» выбираем значение «Март». Не беспокойтесь, это не значит, что в ячейке будет слово «Март», так как это всего лишь пример. Жмем на кнопку «OK».

  6. Окно формата ячеек в Microsoft Excel

  7. Как видим, наименование в шапке элемента календаря изменилось на «Январь». В шапку следующего элемента вставляем другую формулу:
    =ДАТАМЕС(B4;1)
    В нашем случае, B4 – это адрес ячейки с наименованием «Январь». Но в каждом конкретном случае координаты могут быть другими. Для следующего элемента уже ссылаемся не на «Январь», а на «Февраль», и т.д. Форматируем ячейки так же, как это было в предыдущем случае. Теперь мы имеем наименования месяцев во всех элементах календаря.
  8. Добавление наименований месяцев в Microsoft Excel

  9. Нам следует заполнить поле для дат. Выделяем в элементе календаря за январь все ячейки, предназначенные для внесения дат. В Строку формул вбиваем следующее выражение:
    =ДАТА(ГОД(D4);МЕСЯЦ(D4);1-1)-(ДЕНЬНЕД(ДАТА(ГОД(D4);МЕСЯЦ(D4);1-1))-1)+{0:1:2:3:4:5:6}*7+{1;2;3;4;5;6;7}
    Жмем сочетание клавиш на клавиатуре Ctrl+Shift+Enter.
  10. Заполнение пространства дат в Microsoft Excel

  11. Но, как видим, поля заполнились непонятными числами. Для того, чтобы они приняли нужный нам вид. Форматируем их под дату, как это уже делали ранее. Но теперь в блоке «Числовые форматы» выбираем значение «Все форматы». В блоке «Тип» формат придется ввести вручную. Там ставим просто букву «Д». Жмем на кнопку «OK».
  12. Форматирование под дату в Microsoft Excel

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

  15. Как видим, расположение дат в календаре все ещё не корректно. В одном месяце должно быть от 28 до 31 дня (в зависимости от месяца). У нас же в каждом элементе присутствуют также числа из предыдущего и последующего месяца. Их нужно убрать. Применим для этих целей условное форматирование.

    Производим в блоке календаря за январь выделение ячеек, в которых содержатся числа. Кликаем по значку «Условное форматирование», размещенному на ленте во вкладке «Главная» в блоке инструментов «Стили». В появившемся перечне выбираем значение «Создать правило».

    Переход к созданию правила условного форматирования в Microsoft Excel

    Открывается окно создания правила условного форматирования. Выбираем тип «Использовать формулу для определения форматируемых ячеек». В соответствующее поле вставляем формулу:
    =И(МЕСЯЦ(D6)1+3*(ЧАСТНОЕ(СТРОКА(D6)-5;9))+ЧАСТНОЕ(СТОЛБЕЦ(D6);9))
    D6 – это первая ячейка выделяемого массива, который содержит даты. В каждом конкретном случае её адрес может отличаться. Затем кликаем по кнопке «Формат».

    Создание правила в Microsoft Excel

    В открывшемся окне переходим во вкладку «Шрифт». В блоке «Цвет» выбираем белый или цвет фона, если у вас установлен цветной фон календаря. Жмем на кнопку «OK».

    Установка цвета шрифта в Microsoft Excel

    Вернувшись в окно создания правила, жмем на кнопку «OK».

  16. Создание правила в программе Microsoft Excel

  17. Используя аналогичный способ, проводим условное форматирование относительно других элементов календаря. Только вместо ячейки D6 в формуле нужно будет указывать адрес первой ячейки диапазона в соответствующем элементе.
  18. Скрытие лишних дат в Microsoft Excel

  19. Как видим, числа, которые не входят в соответствующий месяц, слились с фоном. Но, кроме того, с ним слились и выходные дни. Это было сделано специально, так как ячейки, где содержаться числа выходных дней мы зальём красным цветом. Выделяем в январском блоке области, числа в которых выпадают на субботу и воскресение. При этом, исключаем те диапазоны, данные в которых были специально скрыты путем форматирования, так как они относятся к другому месяцу. На ленте во вкладке «Главная» в блоке инструментов «Шрифт» кликаем по значку «Цвет заливки» и выбираем красный цвет.
    Заливка ячееек в Microsoft Excel

    Точно такую же операцию проделываем и с другими элементами календаря.

  20. Заливка цветом всех ячеек в Microsoft Excel

  21. Произведем выделение текущей даты в календаре. Для этого, нам нужно будет опять произвести условное форматирование всех элементов таблицы. На этот раз выбираем тип правила «Форматировать только ячейки, которые содержат». В качестве условия устанавливаем, чтобы значение ячейки было равно текущему дню. Для этого вбиваем в соответствующее поля формулу (показано на иллюстрации ниже).
    =СЕГОДНЯ()
    В формате заливки выбираем любой цвет, отличающийся от общего фона, например зеленый. Жмем на кнопку «OK».
    Установка формата ячеек в Microsoft Excel

    После этого, ячейка, соответствующая текущему числу, будет иметь зеленый цвет.

  22. Установим наименование «Календарь на 2017 год» посередине страницы. Для этого выделяем всю строку, где содержится это выражение. Жмем на кнопку «Объединить и поместить в центре» на ленте. Это название для общей презентабельности можно дополнительно отформатировать различными способами.

Объединение ячеек в программе Microsoft Excel

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

Вечный календарь готов в Microsoft Excel

Урок: Условное форматирование в Excel

Способ 3: использование шаблона

Те пользователи, которые ещё в недостаточной мере владеют Экселем или просто не хотят тратить время на создание уникального календаря, могут воспользоваться готовым шаблоном, закачанным из интернета. Таких шаблонов в сети довольно много, причем велико не только количество, но и разнообразие. Найти их можно, просто вбив соответствующий запрос в любую поисковую систему. Например, можно задать следующий запрос: «календарь шаблон Excel».

Примечание: В последних версиях пакета Microsoft Office огромный выбор шаблонов (в том числе и календарей) интегрирован в состав программных продуктов. Все они отображаются непосредственно при открытии программы (не конкретного документа) и, для большего удобства пользователя, разделены на тематические категории. Именно здесь можно выбрать подходящий шаблон, а если такового не найдется, его всегда можно скачать с официального сайта Office.com.

По сути, такой шаблон — уже готовый календарь, в котором вам только останется занести праздничные даты, дни рождения или другие важные события. Например, таким календарем является шаблон, который представлен на изображении ниже. Он представляет собой полностью готовую к использованию таблицу.

Шаблон календаря в Microsoft Excel

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

Выделение дат в Microsoft Excel

Мы разобрались, что календарь в Экселе можно сделать двумя основными способами. Первый из них предполагает выполнение практически всех действий вручную. Кроме того, календарь, сделанный этим способом, придется каждый год обновлять. Второй способ основан на применении формул. Он позволяет создать календарь, который будет обновляться сам. Но, для применения данного способа на практике нужно иметь больший багаж знаний, чем при использовании первого варианта. Особенно важны будут знания в сфере применения такого инструмента, как условное форматирование. Если же ваши знания в 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.

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

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

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

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

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

Для тех, кто просто хочет скачать календарь в Excel на текущий год, на картинке ниже показан как он выглядит. Красным отмечены праздничные дни, розовым — выходные. Текущий день, также автоматически выделяется заливкой.

Добавил календарь на 2017 год с праздниками и выходными в соответствии с постановлением правительства.

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

В ячейку A1 вбиваем следующую формулу: =»Календарь на » & ГОД(СЕГОДНЯ()) & » год». Функция СЕГОДНЯ() возвращает текущую дату (мы часто будем ей пользоваться). Соответственно связка функций ГОД(СЕГОДНЯ()) возвратит нам текущий год.

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

Для создания заголовков последующих месяцев будем использовать еще одну очень полезную функцию =ДАТАМЕС(B3;1). Эта функция возвращает дату отстоящую от указанной на заданное число месяцев (в нашем случае на один). Таким образом, у нас получается следующая картина (дополнительно я добавил немного форматирования):

Для автоматического проставления чисел в календаре мы будем использовать всего одну формулу — формулу массива. На вид звучит страшновато, но если разобраться — все легко и просто. Выделяем ячейки B5:H10 и вводим следующую формулу (не спешим жать Enter):
=ДАТА(ГОД(B3);МЕСЯЦ(B3);1-1)-(ДЕНЬНЕД(ДАТА(ГОД(B3);МЕСЯЦ(B3);1-1))-1)+<0:1:2:3:4:5:6>*7+

Вместо Enter нажимаем сочетание клавиш Ctrl+Shift+Enter, вставляя таким образом формула массива. В результате в выделенном диапазоне получаем числа указанного в ячейке B3 месяца.

Аналогичную операцию проводим с другими месяцами или просто копируем диапазон дат января в следующие месяца. Получаем следующую картину:

Форматируем

Отформатируем ячейки таким образом, чтобы они содержали только числа (а не полностью даты). Выделяем даты, открываем формат ячеек (Ctrl+1) и вводим вручную следующий формат:

Календарь принимает все более привычный вид.

Добавляем условного форматирования

Сейчас в январе календарь содержит даты 29, 30, 31 декабря, а также часть дат февраля. Давайте немного скроем эти числа. Для этого будем использовать условное форматирование. Выделяем ячейки B5:H10 и создаем правило условного форматирования. Форматироваться будут ячейки, для которых следующая формула будет являться ИСТИНОЙ:
=И(МЕСЯЦ(B5)<>1+3*(ЧАСТНОЕ(СТРОКА(B5)-5;9))+ЧАСТНОЕ(СТОЛБЕЦ(B5);9))

В качестве формата я выбрал серый текст шрифта и получил следующую картину:

Автоматически выделяем текущую дату в календаре

Для этого создаем еще одно правило условного форматирования. Ячейка будет форматироваться только в том случае, если ее значение будет равно текущей дате (=СЕГОДНЯ()):

Выделим выходные дни в календаре Excel

На этот раз обойдемся обычной заливкой ячеек. Выбирайте на свой вкус. У меня получилось так:

Добавляем праздничные дни

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

Вернемся в наш календарь и создадим еще одно правило условного форматирования. Формула условного форматирования будет проверять является ли дата праздником. И в случае если формула вернет ИСТИНА ячейка будет форматироваться. Вот эта формула:
=НЕ(ЕОШИБКА(ПОИСКПОЗ(B5;ДВССЫЛ(«Праздники[Праздничные дни]»);0))). Стоит отметить, что при добавлении или изменении праздничных дней, календарь будет автоматически форматироваться.

Осталось скопировать ячейки B5:H10 в другие месяца и наш автоматический календарь готов и может служить нам не один год.

Изменение цветовой гаммы календаря Excel

Если при создании календаря использовать цвета темы, то потом их можно будет изменить одним простым движением. Просто сменив цвета темы на вкладке Разметка страницы. Выбирайте понравившийся.

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

Как сделать календарь в Excel

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

Создание календаря из шаблона

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

Шаг 1. Для начала запустите программу и откройте в меню «Файл».

Шаг 2. Перейдите в раздел «Создать». Теперь воспользуйтесь поиском или нажмите на ссылку «Календари», чтобы просмотреть все доступные варианты.

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

Шаг 3. Щелкните по миниатюре понравившегося вам шаблона. Скачайте его, нажав на кнопку «Создать».

Шаг 4. Теперь выбранный вами шаблон откроется в новом окне.

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

Важно! Не забудьте сохранять свою таблицу каждый раз, когда вы вносите в нее какие-либо изменения.

Есть смысл загрузить этот документ на Google Docs. Это облачное хранилище файлов любого типа со встроенным пакетом программ, аналогичным Microsoft Office. Загрузив его на облако, вы сможете получить доступ к своему календарю в любое время с любого компьютера, редактировать его онлайн самостоятельно и вместе с другими людьми, но самый важный плюс — это автосохранение, любые действия с таблицей будут сохраняться системой.

Специализированный календарь для работы и дежурств

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

Шаг 1. Создания списка месяцев. Начнем с написания имени сотрудников в столбце A.

Перед тем как переходить к следующему этапу убедитесь, что на вашей панели инструментов есть раздел «Разработчика». Если нет, добавьте его:

    Перейдите в меню «Файл»>«Параметры».

Шаг 2. Теперь выберите «Разработчик»> «Вставка»> «Поле со списком».

Шаг 3. Теперь нам нужно создать список месяцев в другом месте на нашем листе.

Шаг 4. Теперь подключите, ранее созданный элемент «Поле со списком» с этим списком месяцев:

    Выберите объект «Поле со списком».

Шаг 5. Поле со списком для каждого года.

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

Шаг 6. Впишите первую дату посредством функции. Здесь мы собираемся повторно использовать элементы A1 (выбранный месяц) и A2 (выбранный год) и поместить их в функцию «DATE». Эта функция выглядит следующим образом: «=ДАТА(год; месяц; день)».

Итак, в качестве года указываем A2+2017 (A2 содержит цифру 1, чтобы получить 2018, нам нужно прибавить к ней 2017), а в качестве месяца — A1. Впишите получившуюся формулу в ячейку B6 «=ДАТА (A2+2017;A1;1).

Шаг 7. Растяните дату на нужное число столбцов.

Этот шаг очень прост. Мы просто должны добавить 1 к предыдущей ячейке, чтобы увеличить день на 1. В C6, напишите следующую формулу и скопируйте ее во все остальные ячейки. Формула «= B6+1».

Примечание! Чтобы растянуть формулу, а другие ячейки, схватите B6 за зеленый квадратик и буквально растяните его на нужное число ячеек.

Шаг 8. Измените формат даты.

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

    Выберите все даты.

Шаг 9. Теперь вам остается только отформатировать таблицу по своему усмотрению, изменить цвет фона и шрифты.

Читайте интересную информацию из нашей новой статьи — «Как написать формулу в Excel? Обучение азам работы в Excel».

Видео — Как сделать календарь в Excel самостоятельно

Понравилась статья?
Сохраните, чтобы не потерять!

Вставка календаря в 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 календарь будет автоматически отображаться на экране.

Шаблоны календарей в Excel

​Смотрите также​​ если мне надо​VovaK​ клике на выбранной​: Хорошая вещь! По-моему​: VERTEX​ ячейки листа, то​ выбора даты или​нажмите кнопку выполнить​в прошлый раз открыт​Совет:​в диалоговом окне​ привязан элемент управления.​ шаблона формы с​ форму Microsoft Office​– это дата,​ предполагаем, что вы​Примечание:​ такой календарик вставить​:​ дате.​ на «Планете Ексель»​

​Цена​ делать это вручную​ границу, Выбор даты,​и нажмите кнопку​ на​ В области задач​Формат даты​

​ Значок указывает на​ поддержкой браузера, опубликованные​ InfoPath, нажав кнопку​

  • ​ которая отстоит на​ уже знаете, как​

  • ​Мы стараемся как​ в несколько разных​Alex_ST​Можно ли как-то​ Николая Павлова что-то​: бесплатно.​

  • ​ неудобно. Для ввода​ в меню​ОК​поле, которое необходимо​

  • ​Источник данных​выберите требуемый формат​ то, правильно ли​ на сервере под​

  • ​ маленьком всплывающем календаре.​ (5-1) дней от​

  • ​ изменить размер и​

  • ​ можно оперативнее обеспечивать​

  • ​ ячеек, столбцов, строк?​

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

  • ​ настроить, чтобы календарь​

  • ​ подобное видел. Только​

​Ссылка в Office​

​ именно сегодняшней даты​Формат​два раза, чтобы​ изменять каждый раз​также можно использовать​​ отображения.​​ элемент управления привязан​ управлением InfoPath Forms​ Например можно использовать​ 1 января 2015​

​ стиль шрифта, вставлять​​ вас актуальными справочными​VovaK​1. Понты -​​ закрывался при одном​​ там первый день​ Apps Store​ можно воспользоваться функцией​выберите, выберите команду​ вернуться в диалоговое​ при открытии формы​

support.office.com

Как создать календарь в Excel

​ для вставки элементов​Примечание:​ к полю или​ Services, а затем​ элемент выбора даты​

​ года. Эта формула​​ строки и столбцы,​ материалами на вашем​:​ В давние времена​ клике на выбранной​ — воскресенье, неудобно.​Работает только в Excel​СЕГОДНЯ (TODAY)​границы и заливка​ окно​ дату.​

​ управления. В области​ Можно изменить формат отображения​

Создать календарь в Excel

​ группе. Если привязка​​ поддержкой веб-браузера, форм,​ для ввода дат​ проверяет, равняется ли​ добавлять границы, изменять​ языке. Эта страница​

  1. ​Alex_ST​ у меня был​ дате?​
    • ​ И еще: почему​​ 2013, добавляется через​, сочетанием клавиш​и внесите необходимые​​Свойства выбора даты​​Нажмите кнопку​
    • ​ задач​​ даты только в​ правильная, выводится зеленый​

    ​ основанных на шаблоне​
    ​ рождения люди страхования​

    ​ год этой даты​

    • ​ цвет фона и​ переведена автоматически, поэтому​
    • ​, не смотрел потому​ металлический перекидной календарь,​alpalmar​
    • ​ свойство формы ShowModal​​ магазин приложений Office​​Ctrl+;​ изменения.​
    • ​.​​ОК​​Источник данных​ случае тип данных​ значок. Если с​
    • ​ формы можно просмотреть​​ форме. Можно также​​ переменной​ т.д.​ ее текст может​ что zip в​

    ​ год там был​: Спасибо, все пнял!​ стоит в True?​ App Store на​или макросом, но​Чтобы настроить текст, встречающийся​​Обратите внимание на то,​​, чтобы вернуться к​​щелкните правой кнопкой​​ текст, дату, или​ привязкой что-то не​ в веб-браузере. При​

​ использовать элементом выбора​​CalendarYear​Вот как выглядит январь​ содержать неточности и​ запрете.​ четыре цифры в​VovaK​​ Это не позволяет​​ вкладке​ если нужны разные​ в элементом выбора​ что отображается в​ шаблону формы.​ мыши поле, которое​ дата и время.​

  1. ​ так, вы увидите​ разработке шаблона формы​​ даты для отображения​​и равняется ли​

    ​ 2015:​
    ​ грамматические ошибки. Для​

    Создать календарь в Excel

    ​1. Окошечки сдвинул​​ окошках. Согласись прикольно.​​: Вот как должна​​ когда фору с​Вставка — Приложения для​ даты из прошлого​ даты, используйте поля​ поле​Чтобы проверить изменения, нажмите​ требуется связать «Выбор​Если основе внешнего вида​​ синий или красный​​ с поддержкой браузера​ стандартных дат, например​ месяц этой даты​Важный момент:​ нас важно, чтобы​ и весь шарм​2. Вот накой​

  2. ​ выглядеть процедура на​ календарем вызвал, выделить​​ Office (Insert -​​ или будущего, то​

    ​Шрифт​
    ​значение​

    Создать календарь в Excel

    ​ кнопку​​ даты» и нажмите​​ шаблона формы на​​ значок.​ некоторые элементы управления​ текущую дату.​ январю (1). Если​Как же мы​ эта статья была​ пропал — но​ немодальный вызов -​ клик мыша в​​ нужную ячейку. Или​​ Office Apps Store)​ вбивать их руками​и​now()​Просмотр​

  3. ​ кнопку​ существующий файл язык​Источник данных для шаблона​ будут недоступны в​Создать календарь в Excel

​Когда следует использовать элемент​​ это так, формула​ смогли объяснить Excel,​ вам полезна. Просим​ хозяин-барин дело вкуса.​ вызвал — дату​ модуле класса DateClass:​ я что-то не​.​ долго.​Размер шрифта​.​

​на​Управления «Выбор даты»​
​ XML (Extensible Markup),​
​ формы состоит из​

​ области задач​

office-guru.ru

Вставка элемента управления «выбор даты»

​ выбора даты​​ возвращает дату, а​ что январь 2015​ вас уделить пару​2. Касательно немодального​ выбрал — календарь​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Private Sub DateButton_MouseDown(ByVal Button​ понял?​Вставляется на лист как​К сожалению, в стандартном​на панели инструментов​В разделе​стандартной​в контекстном меню.​ базы данных или​ полей и групп,​элементы управления​Пользовательский интерфейс​ если нет –​ года начинается в​ секунд и сообщить,​ режима, Алекс зачем​

​ ушел — дата​ As Integer, _​VovaK​ постоянный графический объект​ арсенале средств Excel​Форматирование​Значение по умолчанию​панели инструментов или​К началу страницы​ веб-службы, InfoPath извлекает​ которые отображаются в​, так как они​Проблемы совместимости​ пустую строку («»).​ четверг?​ помогла ли она​

В этой статье

​ процедуру на клик​ осталась. Я понимаю​

​ByVal Shift As​

​:​

​ и добавляет выбранную​

​ нет встроенного выпадающего​. Чтобы одновременно изменить​

​снимите флажок​ нажмите клавиши CTRL+SHIFT+B.​

​Чтобы автоматически вставить текущую​

Когда следует использовать элемент выбора даты

​ поля и группы​ виде иерархической структуры​

  • ​ не отображается в​Вставьте элемент выбора даты​Давайте взглянем на формулу​Чтобы наши формулы было​ вам, с помощью​

  • ​ мыша продублировал в​​ процесс какой обсчитывать,​​ Integer, ByVal X​​alpalmar​​ дату в любую​ календаря (в отличие​ шрифт и размер​

  • ​обновлять это значение при​Убедитесь, что дату, которая​ дату в форме​ в области задач​ в области задач​ веб-браузере.​

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

Departure date entered in date picker control on form

​ As Single, ByVal​, Замысел прост -​ выделенную предварительно ячейку.​ от Word), да​ шрифта для всех​ пересчете результатов формулы​ появляется в окне​ при ее открытии,​Источник данных​Источник данных​Хотя выбора даты доступны​

​ календарике​

Взаимодействие с пользователем

​F4​ создадим следующие имена:​ Для удобства также​ удали) и закоментируй​ Тем более открывается​ Y As Single)​ Вы вызываете форму​Умеет менять стандарты недели,​ еще и в​ выбора даты на​.​ выбора даты выглядит​ можно использовать функцию​из соответствующего источника​. Элементы выбора даты​ при разработке шаблона​Отображение текущих даты и​​.​​CalendarYear​ приводим ссылку на​

pop-up calendar

​ в оставшейся Unload​

Совместимость

​ быстро и возвращает​Call DateForm.ChangeYear​ из ячейки, в​ отображать номера недель,​ последних версиях, начиная​ шаблон формы, щелкните​Примечание:​ так, как требуемое​сегодня​ данных. В этом​ всегда связаны с​ формы с поддержкой​ времени в календарике​=IF(AND(YEAR(JanOffset+5)=CalendarYear,MONTH(JanOffset+5)=1),JanOffset+5,»»)​– календарный год.​ оригинал (на английском​ DateForm. Если желаешь​ дату из активной​If DateButton.ForeColor <>​ которую необходимо вставить​​ вводить не только​​ с Excel 2007,​ правой кнопкой мыши​ Если снять этот флажок​

​ для. Если это​с элементе выбора​ случае можно добавить,​ полями. В приведенном​ браузера, следует учитывать​

  • ​Советы по макету​=ЕСЛИ(И(ГОД(JanOffset+5)=CalendarYear;МЕСЯЦ(JanOffset+5)=1);JanOffset+5;»»)​ Значение будет храниться​ языке) .​ переписывать даты, можешь​ ячейки.​ RGB(175, 175, 175)​ дату. Если у​ дату, но и​ Microsoft зачем-то убрала​

  • ​ Выбор даты с​ установлен, дата, не​ не так, вы​ даты.​ перетащив поле выбора​ ниже примере​ следующие ограничения:​При необходимости с помощью​Пояснение:​ в ячейке​Многие шаблоны календарей доступны​ привязать к событию​3. Поюзаю, подумаю,​

​ Then​

Вставка элемента управления «выбор даты»

​ вас задача расставить​ время.​ из стандартного комплекта​ форматированием и нажмите​ обновляется автоматически при​ можете изменить способ​Вставьте элемент выбора даты​ даты из области​отправления​

​Выбор даты полностью поддерживаются​ выбора дат:​Выражение​K5​

Date picker selected in design mode

​ для использования в​ SelectionChange листа изменение​ если много не​Call DateForm.Refresh(CInt(DateButton.Caption), Mon,​ даты по листу​Есть возможность задавать темы​ поставки библиотеку mscalc.osx,​ кнопку​ каждом открытии формы​ отображения даты или​ в шаблоне формы.​ задач​управляющего элемента выбора​ только в браузерах​Разрешить пользователям ввод дат,​JanOffset+5​.​ Microsoft Excel. Шаблон​ глобальных переменных Mon,​ переписывать добавлю…​ CLng(CurrentYear))​ ставьте DateForm.Show 0,​ оформления.​ которая позволяла быстро​Применить шрифт для всех​ на основе этого​ времени, нажав кнопку​Дважды щелкните Выбор даты,​Источник данных​ даты в шаблоне​ Windows Internet Explorer.​ выбранном в форме,​– это дата,​JanOffset​ содержит макет простой​ CurrentYear и CurrentDay​4. Вот накой​End If​ ни каких сложностей.​

​Нет кнопки перехода к​ создать пользовательскую форму​ элементов управления выбора​ шаблона формы. Идеально​ «​ вставленной в шаблоне​​в шаблоне формы​​ формы привязан к​ В других веб-браузеры​ например даты начала​ которая отстоит на​​– имя формулы,​​ календарь, который можно​ с вызовом процедуры​ козе баян? Если​If Err =​​Гость​​ текущему дню.​​ с календарем.​​ даты​

Relationship between date picker on form template and corresponding field in data source

Вставьте элемент выбора даты в шаблоне пустой формы

​ подходит в тех​Формат​ формы.​​ или путем вставки​​ полю​​ Выбор даты в​​ и окончания для​ (5-5) дней от​ которая представлена ниже:​ легко адаптировать вашим​ DateForm.Refresh(CurrentDay, Mon, CLng(CurrentYear)).​ вызывать из пустой​ 0 Then​: Не силен в​Date Picker​Естественно, это «узкое место»​в контекстном меню.​​ случаях, когда пользователи​​» в диалоговом​

  1. ​Откройте вкладку​ Выбор даты с​departureDate​ виде текстового поля,​

  2. ​ определенного проекта.​​ 1 января 2015.​​=DATE(CalendarYear,1,1)-WEEKDAY(DATE(CalendarYear,1,1))​​ потребностям.​​3. Кнопку на​​ ячейки позицирует на​​ActiveCell.Value = DateSerial(CInt(CurrentYear),​ vba. Прошу строго​

  3. ​Автор​​ не осталось без​​Чтобы увидеть, как будет​​ могут видеть дату​​ окне​

  4. ​Данные​ помощью области задач​в области задач​ несмотря на то,​Функции​ Это – первый​

  5. ​=ДАТА(CalendarYear;1;1)-ДЕНЬНЕД(ДАТА(CalendarYear;1;1))​Шаблон календаря Excel может​ сегодня, если очень​ текущей дате, зачем​ Mon, CurrentDay)​ не судить.​

  6. ​: Sam Radakovitz, руководитель​​ внимания опытных пользователей​​ выглядеть ваш выбор​​ создания формы. Можно​​Свойства выбора даты​

  7. ​.​​элементы управления​​Источник данных​​ что дата параметры​​сегодня​ день года! Формула​

    ​Пояснение:​​ иметь один или​ хочешь, сделай сам​ еще кнопка -​Else​Подскажите, пожалуйста, например​

Вставьте элемент выбора даты на шаблон формы, основанного на существующий источник данных

​ команды программистов Excel​ и экспертов Excel​ даты с текстом,​ оставить установленным флажком​.​В разделе​, как описано в​.​​ форматирования, поддерживаются в​​и​ на рисунке проверяет,​Даты в Excel хранятся​ несколько следующих функций:​ — код смотри​ Алекс пустое, тем​​ActiveCell.Value = CurrentDay​​ я хочу запускать​ в Microsoft​ MVP, которые оперативно​ в нем, в​​ в случаях, когда​​К началу страницы​Значение по умолчанию​ приведенной ниже процедуре​

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

  2. ​ в виде чисел.​​12 месяцев в одном​​ в UserForm_Initialize.​​ более даты можно​​ & «.» &​​ календарь из формы​​Цена​ создали несколько интерактивных​

  3. ​ меню​​ у вас есть​​Чтобы автоматически вставить текущую​​нажмите кнопку​​ элементом выбора даты:​

  4. ​ шаблона формы по​​Замещающий текст — текст,​​чтобы отобразить текущую​ этой даты переменной​Программа подсчитывает количество дней,​ или разделить листов.​​4. Формулы не​​ выбрать двумя кликами.​

  5. ​ Format(Mon, «00») &​ по клику на​: бесплатно​ календарей на макросах​Вид​

  6. ​последнее обновление​ дату и время​Вставить формулу​Поместите курсор в то​ умолчанию устанавливается флажок​ отображаемый в элементе​

  7. ​ дату и время​​CalendarYear​​ прошедших с 0​​Тринадцать месяцев, начиная с​​ оценил? Да. Мои​

  8. ​VovaK​​ «.» & Trim(CurrentYear)​​ кнопке.​​Сайт автора умер,​​ для удобного ввода​нажмите кнопку​

    ​или​​ в форме при​.​ место шаблона формы,​Автоматически создавать источник данных​ управления в шаблоне​

​ в форме.​​и равняется ли​​ января 1900 года.​​ июля или августа​ мне больше нравятся.​: По заказу Алекса​ ‘(отображение дат ранее​​Соответственно, на кнопку​​ ссылки не работают,​ дат. Вот подборка​Образец данных​в прошлый раз открыт​ ее открытии, можно​​В диалоговом окне​​ куда вы хотите​

​в области задач​

Отобразить текущую дату в календарике

​ формы. Пример замещающий​Отображение дат из внешнего​ месяц этой даты​Функция​​ и заканчивая июль​​Alex_ST​ сделал прокрутку месяцев​

  1. ​ 1900 года)​ я вешаю:​

  2. ​ но можно скачать​ неплохих, на мой​. Это позволит понять,​

  3. ​ на​​ использовать функцию​​Вставка формулы​

  4. ​ вставить элемент управления.​​Элементы управления​​ текст — «Щелкните​​ источника данных, например​ Изображение кнопки​ январю (1). Результат​

  5. ​DATE​​ или августа следующий​​: Ну так и​​ сквозной. Не думаю​​End If​

  6. ​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Private Sub CommandButton1_Click()​​ заботливо сохраненную мной​​ взгляд, бесплатных вариантов:​​ как будет выглядеть​​поле, которое необходимо​​теперь​​нажмите кнопку​

  7. ​Если область задач​​. Это позволяет InfoPath​​ здесь и введите».​​ выставления счетов и​​ положительный! Excel возвращает​​(ДАТА) возвращает значение,​​ год для представления​ вставляйте. Кто мешает?​ что всем это​​Unload DateForm​​DateForm.Show​

    ​ когда-то копию здесь.​Windows Date Picker​​ формы при заполнении​​ изменять каждый раз​​в элементе выбора​​Вставить функцию​

  8. ​Элементы управления​​ автоматически создавать поля​​ Несмотря на то,​​ отгрузки дат из​ дату.​​ представляющее дату.​

    ​ учебный год.​​ Ведь код самого​ понравится. Поэтому предлагаю​End Sub​End Sub​Устанавливается как надстройка.​Автор​ его.​ при открытии формы​ даты.​.​не отображается, щелкните​ и групп в​ что можно оставить​​ базы данных заказов​​Мы изменили тип формата​​Функция​Печать календаря на одной​​ календаря от того,​ оставить как вариант.​В Вашей версии​Вопрос. Что необходимо​

  9. ​Вызывается через правую кнопку​​: Ron de Bruin​​В некоторых случаях текст​ дату.​

  10. ​Вставьте элемент выбора даты​В списке​​Другие элементы управления​​ источнике данных по​​ заполнитель параметры текста​​ клиентов.​ на «формат дня»,​

  11. ​DATE​ странице или двенадцать​ как он вызывается​Alex_ST​ ActiveCell.Value заменено на​ изменить в коде​ мыши по ячейке​Цена​ внутри Выбор даты»​Нажмите кнопку​​ в шаблоне формы.​​категорий​в меню​​ мере добавления элементов​​ для шаблонов форм​

​На приведенном ниже рисунке​

Отображение текущих даты и времени в календарике

​ чтобы отображать только​(ДАТА) принимает три​ страниц (тринадцать календарей​ совсем не меняется.​: 1. Ну, это​​ глобальную переменную. Строка​​ календаря, чтобы результат​ -​

  1. ​: бесплатно​ и «метка слева​

  2. ​ОК​Дважды щелкните Выбор даты,​в диалоговом окне​

  3. ​Вставка​​ управления в шаблон​​ с поддержкой браузера,​

  4. ​ элементом выбора даты​​ день месяца.​​ аргумента: год, месяц​​ учебный год).​​light26​

  5. ​ на любителя… Поэтому​​ Unload DateForm в​​ (выбранная дата) прописывался​

  6. ​Pick from calendar​​Ссылка​​ от календарике может​​, чтобы вернуться к​ вставленной в шаблоне​​Вставка функции​или нажмите клавиши​​ формы. Эти поля​​ что текст не​

  7. ​ используется в шаблоне​​Примечание:​​ и день.​​Отображение дней недели в​​: ниче не понимаю.​​ в своей доработке​ Изображение кнопки​ конце процедуры удаляет​

  8. ​ не в ячейку​​или с помощью​​Устанавливается как надстройка (есть​​ отображаться для немного​​ шаблону формы.​

  9. ​ формы.​​выберите​​ ALT+I, C.​​ и группы представлены​​ отображается в веб-браузеры.​​ формы командировку запроса​​Аналогичным образом можно​

  10. ​Функция​​ понедельник — воскресенье​​ макрос же написан​​ я окошечки сдвинул​​ календарь.​​ на листе, а​ удобного всплывающего значка​ версии для старых​​ отсутствовать выравнивания. Чтобы​​Чтобы проверить изменения, нажмите​

    ​Откройте вкладку​Дата и время​В разделе​​ в виде значков​​К началу страницы​​ для сбора отправления​

  11. ​ создать формулы для​​WEEKDAY​​ или с понедельника​​ для столбца F…..?????​ поближе друг к​​Alex_ST​

    ​ передавался в определенную​​ календарика справа от​ Excel 200-2003 и​ быстро изменить выравнивание​ кнопку​Данные​.​Вставить элементы управления​ папок и файлов​Процедура для вставки элементом​ Дата рейса.​ других дней в​(ДЕНЬНЕД) возвращает число​ до воскресенья.​​Alex_ST​​ другу.​​: Володя,​ переменную? Указанную переменную​​ ячейки с датой.​ для новых Excel​ их, дважды щелкните​Просмотр​

  12. ​.​​В списке​​щелкните​ в области задач​

  13. ​ выбора даты немного​Вы можете настроить Выбор​​ январе и других​​ от 1 (воскресенье)​​Книжная или альбомная ориентация​​: ну так подправьте​2. Немодальный вызов​

  14. ​хороший календарь сделал.​ я потом успешно​Красивый дизайн, отображение количества​ 2007-2010 и, отдельно,​ Выбор даты, нажмите​на​В поле​функции​Элемент выбора даты​Источник данных​​ зависят от ли​​ даты в соответствии​ месяцев. Этот инструмент​​ до 7 (суббота),​​ распечатанные страницы.​

​ код вызова формы​

Советы по макету

​ удобен если обрабатываешь​Только чуть-чуть с​ смог бы использовать​ дней до выбранной​ для Excel 2013.​

  • ​ кнопку​стандартной​тип данных​выберите​.​​.​​ разработка шаблона формы​​ со своими потребностями,​​ позволит создать календарь​ представляющее день недели.​​Линейка столбец для заметок.​​ так чтобы она​

  • ​ табличку с несколькими​ формулами вычисления даты​ в выводе где​ даты от текущей.​​Вызывается через контекстное меню​​Выровнять​​панели инструментов или​​выберите​сегодня​

  • ​В диалоговом окне​Поместите курсор в то​ пустой или индексация​​ дважды щелкнув элемент​​ на любой год!​​К примеру, 1 января​​Планировщик отпусков.​​ вызывалась при клике​​ датами. Тогда в​ и инициализацией накрутил​ угодно: хоть в​Использует USA-стандарт недели (отображает​ ячейки (правой кнопкой​на вкладке​ нажмите клавиши CTRL+SHIFT+B.​Дата и время (dateTime)​и нажмите кнопку​​Привязка выбора дат​ место шаблона формы,​ внешнего вида шаблона​​ управления в шаблоне​

  • ​ Просто используйте счетчик​ 2015 года –​Списки дел.​ в​ Activecell значение из​​ лишнего.​​ Label, хоть TextBox,​​ неделю с воскресенья).​​ мыши по ячейке​размер​Убедитесь, что дату, которая​.​

  • ​ОК​выберите поле, в​ куда вы хотите​ формы базы данных​ формы и измените​ для выбора года,​ то же самое,​Журналы учета задачи.​Quote​ календаря вносить можно​​Я тут на​​ хоть в любой​​Настроек нет.​​ — Date Picker).​​и нажмите кнопку​​ появляется в окне​Нажмите кнопку​два раза, чтобы​ котором нужно сохранить​ вставить элемент управления.​ или другого внешнего​ его свойства. Например​ чтобы получить календарь​​ что 42005. Эта​​Журналы учета бюджета.​​(light26)200?’200px’:»+(this.scrollHeight+5)+’px’);»>в несколько разных​​ даблкликом по нужной​​ досуге подправил. Теперь​​ нужной мне ячейке​​Установка надстроек:​​Позволяет вставлять дату в​

  • ​Применить​ выбора даты выглядит​Формат​ вернуться в диалоговое​​ данные выбора даты​​Если область задач​ источника данных.​​ можно указать дату​​ на другой год.​ дата приходится на​Отслеживание ежедневное расписание.​​ ячеек, столбцов, строк​​ дате. А закрывать​

​ месяц нормально устанавливается​

support.office.com

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

​ на листе.​в Excel 2003 и​ нескольких форматах, вплоть​. В случае выбора​ так, как требуемое​.​ окно​​ и нажмите кнопку​​Элементы управления​​На рисунке показано, как​​ по умолчанию или​Урок подготовлен для Вас​ четверг. Другими словами,​Загрузка шаблона календаря:​RAN​ форму после изменения​

​ на форме по​VovaK​ старше — меню​ до номера недели​ метки и даты​ для. Если это​В диалоговом окне​Свойства выбора даты​ОК​не отображается, щелкните​ выглядит элементом выбора​ изменить способ отображения​ командой сайта office-guru.ru​=ДАТА(CalendarYear;1;1)​

​Просмотреть шаблоны календарей, выберите​: Муля не Планете​ всех нужных дат​ дате в ячейке.​: В модуле класса​Сервис — Надстройки -​ (по разным стандартам).​ в разных ячейках​ не так, вы​Формат даты и времени​.​

Вставка календаря вȎxcel ​.​
​Другие элементы управления​​ даты при выборе​
​ даты в форме.​​Источник: http://www.excel-easy.com/examples/calendar.html​
​равняется 42005, а​

  • ​ шаблон календарь Excel,​ тоже очень озадачивался​ — «крестиком»​Есть, однако, пара​ DateClass Найдите строку:​ Обзор (Tools -​
  • ​Автоматически подстраивается под российский​ макетной таблицы, щелкните​ можете изменить способ​в списке​
  • ​Обратите внимание, что в​InfoPath в качестве используется​в меню​ в Режим конструктора.​
  • ​К началу страницы​Перевел: Антон Андронов​ДЕНЬНЕД(ДАТА(CalendarYear;1;1))​

Вставка календаря вȎxcel ​ лучше всего подходит​
​ подобными вопросами, и​​3. С прокруткой​
​ вопросов:​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>ActiveCell.Value = DateSerial(CInt(CurrentYear), Mon,​
​ Add-ins — Browse)​

  • ​ стандарт недели (с​ правой кнопкой мыши​ отображения даты или​Формат отображения времени следующим​ поле​ имя поля или​Вставка​Элементы управления могут быть​Выбор даты выглядеть текстовые​Автор: Антон Андронов​равняется 5. В​ для вас. Нажмите​
  • ​ именно по календарю​ через месяцы по​
  • ​1. Какой смысл​ CurrentDay)​
  • ​в Excel 2007 и​
Вставка календаря вȎxcel ​ понедельника).​ ячейку, содержащую подпись,​
​ времени, нажав кнопку​​ образом​
​значение​​ группы подпись элемента​
​или нажмите клавиши​ связанными или свободными.​

  • ​ поля, за исключением​Примечание:​ итоге переменная JanOffset​ кнопку​ (правда другому).​​ годам получилось очень​ разбивать год по​и вместо ActiveCell.Value​​ новее -​
  • ​Excel Date Picker​ в контекстном меню​ «​нужный вариант и​отображается​
  • ​ управления. При необходимости​ ALT+I, C.​ Если элемент управления​ того, что отображается​Мы стараемся как​
  • ​ равна 42005-5=42000.​загрузить​
  • ​Поглядите там.​ удобно. Вряд ли​
Вставка календаря вȎxcel ​ одной цифре в​
​ укажите имя глобальной​​Файл — Параметры -​Автор​ выберите команду​
​Формат​​ нажмите кнопку​
​сегодня()​ измените текст подписи.​В разделе​ связан, он подключен​ маленький значок календаря​

  • ​ можно оперативнее обеспечивать​
  • ​Примечание переводчика:​на странице шаблонов,​VovaK​​ кто будет против​​ лэйбл-боксе? Почему сразу​ переменной к примеру​ Надстройки — Перейти​: Jim Cone​
  • ​Свойства таблицы​» в диалоговом​ОК​
  • ​.​Чтобы задать способ отображения​
  • ​Вставить элементы управления​

P.S.

​ к полю или​

  • ​ справа от поля.​ вас актуальными справочными​​В некоторых странах​ откройте файл шаблона​:​
  • ​ такой фичи возражать.​ не сделать в​​ CurrentDate​ — Обзор (File​Цена​и на вкладке​ окне​.​

planetaexcel.ru

Выпадающий календарь (Для программирующих в среде VBA.)

​В разделе​​ даты в форме,​щелкните​ группе в источнике​ Чтобы открыть всплывающий​
​ материалами на вашем​ мира, в частности​ в Excel, редактирование​light26​4. Не согласен.​ одном текст-боксе все​

​объявить глобальную переменную​​ — Options -​​: бесплатно​
​Ячейка​Свойства выбора даты​В диалоговом окне​Значение по умолчанию​

​ дважды щелкните Выбор​​Элемент выбора даты​ данных, поэтому данные,​ календарь, щелкните значок​ языке. Эта страница​ в США, принято​ и сохранение календаря.​, откройте редактор VBA​ Если, листая даты​ цифры?​ необходимо в простом​ Add-ins — Go​Ссылка​в группе​.​Свойства выбора даты​

​снимите флажок​​ даты, который был​​.​​ вводимые в элемент​ календаря; Когда появится​ переведена автоматически, поэтому​ считать первым днем​Примечание:​ и выберите лист1,​ далеко ушёл от​2. Я сделал​ модуле :​

​ To — Browse)​​Макрос (не надстройка!) с​Вертикальное выравнивание​К началу страницы​
​в поле​обновлять это значение при​ добавлен в шаблоне​Чтобы добавить метку к​ управления, сохраняются в​
​ календарь, щелчок даты,​ ее текст может​
​ недели – воскресенье.​
​ Загрузка файла шаблона по​
​ увидите код процедуры​

​ «сегодня», то удобнее​ немодальный вызов. Но​Public CurrentDate As​VovaK​ открытым кодом VBA​выберите​Используйте приведенные ниже советы​Значение по умолчанию​ пересчете результатов формулы​ формы.​ элементу управления, введите​ XML-файле самой формы.​ они будут доступны​ содержать неточности и​ Так вот, формула​ умолчанию перемещается в​

​ обработки события на​​ к нему возвратиться​ никак не могу​
​ Date​: Давно хотел сваять​
​ — можно посмотреть​Центр​ помогут вам настроить​, нажмите кнопку​
​.​На вкладке​ сверху или слева​
​ Когда элемент управления​ из календаря или​

​ грамматические ошибки. Для​​JanOffset​ папку​
​ листе. Это один​ по спец.кнопочке чем​ при изменении активной​
​Гость​ процедуру выпадающего календаря​ как всё устроено​.​ внешний вид, размер​Вставить формулу​Примечание:​данные​ от него текст,​ является свободным, он​ используйте стрелки вправо​ нас важно, чтобы​вычисляет дату, которая​
​загрузок​ из способов вызвать​ вспоминать «а что​ ячейки заставить перерисоваться​: C переменной получилось.​

​ не зависящего от​​ и модернизировать «под​biggrin

​Чтобы изменить способ отображения​​ и других аспектов​.​ Если снять этот флажок​нажмите кнопку​
​ за которым следует​ не подключен к​
​ и влево кнопок​ эта статья была​ приходится на последнюю​на вашем компьютере.​
​ календарь, второй способ​
​ у нас сегодня?"​ календарь​ Спасибо большое.​
​ библиотек сторонних производитей.​ себя". Но надо​
​ даты, дважды щелкните​
​ элементом выбора даты:​В диалоговом окне​
​ установлен, дата, не​Формат​
​ двоеточие (:).​
​ полю или группе,​ для прокрутки месяцы.​ вам полезна. Просим​ субботу декабря, который​ Вы можете скопировать​ - это если​
​ и опять листать​
​Посмотри, тебе в​
​В процессе работы​

​По желанию Вы​ копировать код в​ Выбор даты, перейдите​Чтобы одновременно изменить размер​Вставка формулы​ обновляется автоматически при​

​.​​Чтобы задать способ отображения​
​ а данные, вводимые​
​ Чтобы вставить текущую​ вас уделить пару​ предшествует рассматриваемому нами​ файл шаблона в​
​ вы откроете модуль​ до нужной даты​ твоём коде проще​ с календарем возник​ можете скопировать четыре​
​ каждый используемый файл​ на вкладку​
​ нескольких выбора даты,​нажмите кнопку​ каждом открытии формы​В списке​ даты в форме,​ в него, не​ дату пользователям, они​
​ секунд и сообщить,​ январю. В данном​ другом месте, чтобы​ книги, там залочены​ (ведь вставка запрещена).​ разобраться…​sad
​ еще один вопрос.​ части процедуры (DateClass,​ и вызывать нажатием​
​данные​ выделите выбора даты,​Вставить функцию​ на основе этого​отображения даты следующим образом​ дважды щелкните Выбор​
​ сохраняются. Если выбрать​ нажмите кнопку​ помогла ли она​ примере эта дата​ его можно легко​

​ процедуры подключения календаря​​И к стати,​​3. При листании​​Когда кликаю на​
​ DateForm, DateFunction, DateYearClass)​ на кнопку или​и нажмите кнопку​ размер которых нужно​.​ шаблона формы. Идеально​в диалоговом окне​
​ даты, который был​ элемент управления или​сегодня​ вам, с помощью​ является отправной точкой.​ найти Далее.​ к выпадающему меню​ ты, я смотрю,​ месяцев вперёд-назад они​ кнопку, вызываю DateForm.Show,​ и календарь будет​ сочетанием клавиш, т.е.​
​ «​ изменить, в меню​В списке​
​ подходит в тех​Формат даты​ добавлен в шаблоне​ навести на него​в нижней части​ кнопок внизу страницы.​Давайте взглянем на формулу​Этот пример описывает, как​ на правый клик​

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

​категорий​​ случаях, когда пользователи​выберите требуемый формат​ формы.​ указатель мыши, в​ календаря.​ Для удобства также​
​ в ячейке​ создать в Excel​ по ячейке листа.​ как я упростил​ и январь вместо​ нужную дату, дата​VovaK​Удобная система прокрутки лет​». Выбор формата​выберите пункт​в диалоговом окне​
​ могут видеть дату​ отображения.​Перейдите на вкладку​ его правом верхнем​К началу страницы​ приводим ссылку на​
​B4​ календарь 2015 года​А из любого​ формулы… А там​ того чтобы год​ успешно прописывается в​:​ и месяцев.​ отображения в диалоговом​Свойства​Вставка функции​
​ создания формы. Можно​Примечание:​данные​ углу , отобразится​При разработке шаблона формы​ оригинал (на английском​.​sad

​ (или 2017, 2018​​ макроса календарь вызывается​ здорово сократилось и​ прибавлялся/убавлялся…​ Label. Но чтобы​Update.​Российскую неделю (с понедельника)​ окне​

​и внесите необходимые​​выберите​​ оставить установленным флажком​​ Можно изменить формат отображения​и нажмите кнопку​ текст и значок​
​ в InfoPath, вы​ языке) .​=IF(AND(YEAR(JanOffset+1)=CalendarYear,MONTH(JanOffset+1)=1),JanOffset+1,»»)​ и т.д.).​
​ командой DateForm.Show.​ окультурилось всё​4. Подумай, куда​ закрыть календарь, необходимо​Исправил недоработки, теперь дата​ знает.​Формат даты​ изменения на вкладке​Дата и время​ в случаях, когда​ даты, только если​Формат​ привязки. В тексте​ можете специального режима​Выбор даты — это​
​=ЕСЛИ(И(ГОД(JanOffset+1)=CalendarYear;МЕСЯЦ(JanOffset+1)=1);JanOffset+1;»»)​Примечание:​Учите матчасть light26,​light26​ бы на форме​
​ еще раз кликнуть​ в заголовке меняется​Каких-либо настроек нет.​

​.​​размер​.​ у вас есть​ тип данных текст,​.​ указаны группа или​

​ совместимости для шаблона​​ элемент управления, который​Пояснение:​Приведенные ниже инструкции​

​ вы уже давно​​: Ну вот опять.​ поместить кнопочку для​ на выбранную дату.​ при нажатии на​Mini Calendar and Date​
​К началу страницы​​.​В списке​biggrin

​последнее обновление​​ дату, или дата​В списке​ поле в источнике​ формы с поддержкой​ позволяет пользователям быстро​
​Выражение​

​ не научат вас​​ на форуме, чтобы​​ Все здорово, все​​ перехода к текущей​ Т.е. календарь закрывается​ все кнопки.​ Picker​Если вам часто приходится​Чтобы изменить цвет элементом​функции​или​ и время.​отображения даты следующим образом​ данных, к которым​ браузера разработки. Когда​ вводить даты в​JanOffset+1​
​ форматированию документа. Мы​ так изумляться…​ красиво…. А что​
​ дате?​ только при повторном​alpalmar​Автор​

excelworld.ru

​ вводить даты в​

Элемент управления пользовательской формы DTPicker (поле с календарем), предназначенный для выбора и ввода даты. Примеры кода VBA Excel с DTPicker.

UserForm.DTPicker – это элемент управления пользовательской формы, представляющий из себя отформатированное текстовое поле с раскрывающимся календарем, клик по выбранной дате в котором записывает ее в текстовое поле.

Элемент управления DTPicker

При вызове календаря пользовательская форма теряет фокус – это видно на изображении. При редактировании даты непосредственно в текстовом поле DTPicker, формат поля позволяет изменять элементы даты (день, месяц, год) по отдельности.

Чтобы перемещаться между элементами даты, необходимо, или выбирать элемент мышью, или нажимать любой знак разделителя («.», «,» или «/») на клавиатуре. А клик по знаку «+» или «-», соответственно, увеличит или уменьшит значение элемента даты на единицу.

Если в элемент «год» ввести однозначное число или двузначное число, не превышающее двузначный остаток текущего года, через пару секунд автоматически добавятся первые две цифры текущего столетия (20). Если вводимое двузначное число превысит двузначный остаток текущего года, автоматически добавятся первые две цифры прошлого столетия (19).

DTPicker – это сокращение от слова DateTimePicker, не являющегося в VBA Excel ключевым словом, как и DatePicker.

Добавление DTPicker на Toolbox

Изначально на панели инструментов Toolbox нет ссылки на элемент управления DTPicker, поэтому ее нужно добавить самостоятельно.

Чтобы добавить DTPicker на панель инструментов Toolbox, кликните по ней правой кнопкой мыши и выберите из контекстного меню ссылку «Additional Controls…»:

Добавление дополнительных элементов управления на Toolbox

В открывшемся окне «Additional Controls» из списка дополнительных элементов управления выберите строку «Microsoft Date and Time Picker Control»:

Выбор DTPicker в окне «Additional Controls»

Нажмите кнопку «OK» и значок элемента управления DTPicker появится на панели инструментов Toolbox:

Значок элемента управления DTPicker на панели инструментов Toolbox

Свойства поля с календарем

Свойство Описание
CalendarBackColor Заливка (фон) календаря без заголовка.
CalendarForeColor Цвет шрифта чисел выбранного в календаре месяца.
CalendarTitleBackColor Заливка заголовка календаря и фон выбранной даты.
CalendarTitleForeColor Цвет шрифта заголовка (месяц и год) и выбранного в календаре числа.
CalendarTrailingForeColor Цвет шрифта чисел предыдущего и следующего месяца.
CheckBox В значении True отображает встроенный в DTPicker элемент управления CheckBox. По умолчанию – False.
ControlTipText Текст всплывающей подсказки при наведении курсора на DTPicker.
CustomFormat Пользовательский формат даты и времени. Работает, когда свойству Format присвоено значение dtpCustom (3).
Day (Month, Year) Задает или возвращает день (месяц, год).
DayOfWeek Задает или возвращает день недели от 1 до 7, отсчет начинается с воскресенья.
Enabled Возможность раскрытия календаря, ввода и редактирования даты/времени. True – все перечисленные опции включены, False – выключены (элемент управления становится серым).
Font Шрифт отображаемого значения в отформатированном поле элемента управления.
Format Формат отображаемого значения в поле элемента управления DTPicker, может принимать следующие значения: dtpCustom (3), dtpLongDate (0), dtpShortDate (1) (по умолчанию) и dtpTime (2).
Height Высота элемента управления DTPicker с нераскрытым календарем.
Hour (Minute, Second) Задает или возвращает часы (минуты, секунды).
Left Расстояние от левого края внутренней границы пользовательской формы до левого края элемента управления.
MaxDate Максимальное значение даты, которое может быть выбрано в элементе управления (по умолчанию – 31.12.9999).
MinDate Минимальное значение даты, которое может быть выбрано в элементе управления (по умолчанию – 01.01.1601).
TabIndex Определяет позицию элемента управления в очереди на получение фокуса при табуляции, вызываемой нажатием клавиш «Tab», «Enter». Отсчет начинается с нуля.
Top Расстояние от верхнего края внутренней границы пользовательской формы до верхнего края элемента управления.
UpDown Отображает счетчик вместо раскрывающегося календаря. True – отображается SpinButton, False – отображается календарь (по умолчанию).
Value Задает или возвращает значение (дата и/или время) элемента управления.
Visible Видимость поля с календарем. True – DTPicker отображается на пользовательской форме, False – DTPicker скрыт.
Width Ширина элемента управления DTPicker с нераскрытым календарем.

DTPicker – это сокращение от слова DateTimePicker, не являющегося в VBA Excel ключевым словом, как и DatePicker.

Примеры кода VBA Excel с DTPicker

Программное создание DTPicker

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

Private Sub UserForm_Initialize()

Dim myDTPicker As DTPicker

    With Me

        .Height = 100

        .Width = 200

        ‘Следующая строка создает новый экземпляр DTPicker

        Set myDTPicker = .Controls.Add(«MSComCtl2.DTPicker», «dtp», True)

    End With

    With myDTPicker

        .Top = 24

        .Left = 54

        .Height = 18

        .Width = 72

        .Font.Size = 10

    End With

Set myDTPicker = Nothing

End Sub

Данный код должен быть размещен в модуле формы. Результат работы кода:

Динамически созданный DTPicker

Применение свойства CustomFormat

Чтобы задать элементу управления DTPicker пользовательский формат отображения даты и времени, сначала необходимо присвоить свойству Format значение dtpCustom. Если этого не сделать, то, что бы мы не присвоили свойству CustomFormat, будет применен формат по умолчанию (dtpShortDate) или тот, который присвоен свойству Format.

В данном примере создается пользовательский формат для полей с календарем DTPicker1 и DTPicker2, размещенных на пользовательской форме, и отображаются в них текущие дата и время.

Private Sub UserForm_Initialize()

    With DTPicker1

        .Format = dtpCustom

        .CustomFormat = «Год: yyyy; месяц: M; день: d»

        .Value = Now

    End With

    With DTPicker2

        .Format = dtpCustom

        .CustomFormat = «Часы: H; минуты: m; секунды: s»

        .Value = Now

    End With

End Sub

Результат работы кода:
DTPicker - отображение даты и времени в пользовательском формате
Таблица специальных символов и строк, задающих пользовательский формат даты и времени (регистр символов имеет значение):

Символы и строки Описание
d День месяца из одной или двух цифр.
dd День месяца из двух цифр. К числу из одной цифры впереди добавляется ноль.
ddd Сокращенное название дня недели из двух символов (Пн, Вт и т.д.).
dddd Полное название дня недели.
h Час из одной или двух цифр в 12-часовом формате.
hh Час из двух цифр в 12-часовом формате. К часу из одной цифры впереди добавляется ноль.
H Час из одной или двух цифр в 24-часовом формате.
HH Час из двух цифр в 24-часовом формате. К часу из одной цифры впереди добавляется ноль.
m Минута из одной или двух цифр.
mm Минута из двух цифр. К минуте из одной цифры впереди добавляется ноль.
M Месяц из одной или двух цифр.
MM Месяц из двух цифр. К месяцу из одной цифры впереди добавляется ноль.
MMM Сокращенное название месяца из трех символов.
MMMM Полное название месяца.
s Секунда из одной или двух цифр.
ss Секунда из двух цифр. К секунде из одной цифры впереди добавляется ноль.
y Год из одной или двух последних цифр.
yy Год из двух последних цифр.
yyyy Год из четырех цифр.

Создание границ интервала дат

Простенький пример, как задать интервал дат с начала месяца до текущего дня с помощью двух элементов управления DTPicker:

Private Sub UserForm_Initialize()

    DTPicker1.Value = Now

    DTPicker1.Day = 1

    DTPicker2.Value = Now

End Sub

Результат работы кода, запущенного 23.11.2020:

Интервал дат, заданный с помощью двух элементов управления DTPicker

DTPicker – это сокращение от слова DateTimePicker, не являющегося в VBA Excel ключевым словом, как и DatePicker.

Содержание

  1. Добавление элемента управления Календарь в форму
  2. Как сделать раскрывающийся список с календарем в excel?
  3. Способ 1 — горячие клавиши и раскрывающийся список в excel
  4. Способ 2 — самый удобный, простой и наиболее гибкий
  5. Способ 3 — как в excel сделать выпадающий список с использованием ActiveX
  6. Ссылки по теме
  7. Создание раскрывающегося списка
  8. Выпадающий список в Excel с подстановкой данных
  9. Выпадающий список в Excel с данными с другого листа/файла
  10. Как сделать зависимые выпадающие списки
  11. Выпадающий список с поиском

Добавление элемента управления Календарь в форму

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

Чтобы включить элемент управления Календарь в форму:

  1. Откройте форму в режиме Конструктора.
  2. Выберите команду меню Вставка, Элемент ActiveX (Insert, ActiveX Controls), при этом откроется диалоговое окно Вставка элемента ActiveX (Insert ActiveX Controls) со списком всех зарегистрированных в системе элементов ActiveX.
  3. Выберите в списке (рис. 15.37) строку Элемент управления Календарь 10.0 (Calendar Control 10.0) и нажмите кнопку ОК.

Рис. 15.37. Диалоговое окно Вставка элемента ActiveX

Далее можно настроить этот элемент, используя его свойства. В отличие от других элементов управления, в данном случае свойства имеют:

  • элемент управления ActiveX формы (окно свойств то же самое, что у других элементов управления и у самой формы);
  • объект Календарь, который реализуется этим элементом управления.

В нашем примере создайте новую форму в режиме Конструктора. Добавьте в нее i описанным выше способом элемент управления Календарь. Откройте диалоговое окно свойств элемента ActiveX. Обратите внимание на свойство Класс (Class), определяющее класс элемента ActiveX. Значение этого свойства установилось автоматически: MSCAL.Calendar.7. Определите имя элемента: ocxCalendar и размеры ‘ примерно 8×6 см.

Чтобы посмотреть свойства объекта Календарь:

  1. Поместите указатель мыши на календарь и щелкните правой кнопкой мыши, чтобы получить контекстное меню для элемента управления формы.
  2. В появившемся меню щелчком выберите строку Объект Календарь (Calendar Control Object), при этом откроется объектное меню (рис. 15.38). Выберите в этом меню команду Свойства (Properties). Появится диалоговое окно свойств объекта Календарь.

Рис. 15.38. Контекстное меню для элементов управления ActiveX

  1. По умолчанию окно свойств раскрывается на вкладке Общие (General), где можно установить некоторые обшие свойства элемента управления Календарь. Раскройте вкладку Шрифты (Fonts) диалогового окна Свойства: Календарь.
  2. Для элемента DayFont из списка Свойства (Property Name) на вкладке Шрифт (Font) установите шрифт Arial Cyr, в группе Аттрибуты (Font Style) установите флажок полужирный (Bold), установите размер шрифта «10» и нажмите на кнопку Применить (Apply). Размеры столбцов элемента Календарь ограничивают размер шрифта в DayFont величиной 9,75 пунктов (рис. 15.39).

Рис. 15.39. Вкладка Шрифт диалогового окна Свойства: Календарь

  1. Повторите процесс выбора шрифта, описанный на предыдущем шаге, для свойств GridFont (шрифт — Arial Cyr, начертание — полужирный, размер — 9) и TitleFont (шрифт — Arial Cyr, начертание — полужирный, размер — 12).
  2. Раскройте вкладку Цвет (Colors) диалогового окна свойств. Эта вкладка предоставляет возможность изменить на любой из 16 стандартных цветов (или системных цветов Windows) цвета фона (Backcolor), шрифта названий дней (DayFontColor), шрифта дат (GridFontColor), шрифта заголовка (TitleFontColor) и линий сетки (GridLinesColor) (рис. 15.40).
  3. Нажмите кнопку ОК, чтобы закрыть окно свойств объекта. Откройте окно свойств формы. Установите Отсутствуют (Neither) в качестве значения свойства Полосы прокрутки (ScrollBars) и Нет (No) как значение свойств Кнопки перехода (NavigationButtons) и Область выделения (RecordSelectors).
  4. Переключите форму с встроенным календарем в режим формы. Вид элемента управления Календарь в режиме Формы приведен на рис. 15.41. Чтобы изменить год или месяц, можно использовать раскрывающиеся списки в заголовке календаря.
  5. Вернитесь в режим Конструктора. Теперь мы рассмотрим, как можно использовать методы элемента Календарь.

Рис. 15.40. Вкладка Цвет диалогового окна Свойства: Календарь

Рис. 15.41. Форма с элементом управления Календарь с раскрывающимися списками месяца и года

Замечание

Чтобы познакомиться со всеми свойствами, методами и событиями любого элемента ActiveX, встроенного в форму, откройте окно свойств этого объекта и нажмите кнопку Справка (Help).

  1. Справа от календаря расположите вертикально шесть кнопок. Назовите их так, как показано на рис. 15.42: «Следующая неделя», «Предыдущая неделя», «Следующий месяц», «Предыдущий месяц», «Следующий год», «Предыдущий год».
  2. Ниже календаря создайте текстовое поле. В этом поле будет отображаться дата, выбранная в календаре. Присвойте свойству Имя (Name) этого поля значение Дата, а свойству Значение по умолчанию (Default Value) — значение =Date ().
  3. Теперь напишем несколько процедур обработки событий. Во-первых, нужно, чтобы при открытии формы на календаре отображалась текущая дата. Для этого необходимо создать процедуру обработки события Загрузка (Load) формы. Ниже приводится текст этой процедуры.

Рис. 15.42. Окончательный вид формы, содержащей элемент управления Календарь в режиме Конструктора

  1. При выборе даты в календаре должно меняться значение поля «Дата». Поэтому нужно написать процедуру обработки события ПослеОбновления (AfterUpdate) элемента управления Календарь. Как и предыдущая, эта процедура состоит из одного оператора. Однако в ней показано, что для ссылки на значение элемента Календарь необязательно используется свойство value.
  1. Еще шесть процедур должны обрабатывать событие НажатиеКнопки (Click) для каждой из шести кнопок. В этих процедурах используются шесть методов объекта Календарь:
  1. Поскольку год и месяц теперь можно переключать с помощью кнопок, вы можете убрать из заголовка календаря раскрывающиеся списки, для чего откройте вкладку Общие (General) диалогового окна свойств объекта и снимите флажок Выбор месяца и года (Month/Year Selectors).
  2. Сохраните форму, дав ей имя «Календарь». Окончательный вид формы представлен на рис. 15.43.

Рис. 15.43. Окончательный вид формы с элементом управления Календарь

Источник

Как сделать раскрывающийся список с календарем в excel?

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

Способ 1 — горячие клавиши и раскрывающийся список в excel

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

Этот же пункт меню можно запустить сочетанием клавиш Alt+»Стрелка вниз» и программа автоматически предложит в выпадающем списке значения ячеек, которые вы ранее заполняли данными. На изображении ниже программа предложила 4 варианта заполнения (дублирующиеся данные Excel не показывает). Единственное условие работы данного инструмента — это между ячейкой, в которую вы вводите данные из списка и самим списком не должно быть пустых ячеек.

Использование горячих клавиш для раскрытия выпадающего списка данных

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

Выпадающий список может работать и в верхней части с данными, которые ниже ячейки

Способ 2 — самый удобный, простой и наиболее гибкий

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

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

Создание набора данных для списка

В окне «Создание имени» задайте имя для вашего списка (это имя дальше будет использоваться в формуле подстановки). Имя должно быть без пробелов и начинаться с буквы.

Введите имя для набора данных

Выделите ячейки (можно сразу несколько ячеек), в которых планируется создать выпадающий список. Во вкладке «ДАННЫЕ» вверху документа нажмите на «Проверка данных».

Создать выпадающий список можно сразу для нескольких ячеек

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

    При попытке ввести значение, которого нет в заданном списке, эксель выдаст ошибку.

    Кроме списка можно вводить данные вручную. Если введенные данные не совпадут с одним из данных — программа выдаст ошибку

    А при нажатии на кнопку выпадающего списка в ячейке вы увидите перечень значений из созданного ранее.

    Способ 3 — как в excel сделать выпадающий список с использованием ActiveX

    Чтобы воспользоваться этим способом, необходимо чтобы у вас была включена вкладка «РАЗРАБОТЧИК». По умолчанию эта вкладка отсутствует. Чтобы ее включить:

    1. Нажмите на «Файл» в левом верхнем углу приложения.
    2. Выберите пункт «Параметры» и нажмите на него.
    3. В окне настройки параметров Excel во вкладке «Настроить ленту» поставьте галочку напротив вкладки «Разработчик».

    Включение вкладки «РАЗРАБОТЧИК»

    Теперь вы сможете воспользоваться инструментом «Поле со списком (Элемент ActiveX)». Во вкладке «РАЗРАБОТЧИК» нажмите на кнопку «Вставить» и найдите в элементах ActiveX кнопку «Поле со списком (Элемент ActiveX)». Нажмите на нее.

    Нарисуйте данный объект в excel выпадающий список в ячейке, где вам необходим выпадающий список.

    Теперь необходимо настроить данный элемент. Чтобы это сделать, необходимо включить «Режим конструктора» и нажать на кнопку «Свойства». У вас должно открыться окно свойств (Properties).

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

    Но нас на этапе создания интересуют только три основных:

    1. ListFillRange — указывает диапазон ячеек, из которых будут браться значения для выпадающего списка. В моем примере я указал два столбца (A2:B7 — дальше покажу как это использовать). Если необходимо только одни значения указывается A2:A7.
    2. ListRows — количество данных в выпадающем списке. Элемент ActiveX отличается от первого способа тем, что можно указать большое количество данных.
    3. ColumnCount — указывает сколько столбцов данных указывать в выпадающем списке.

    В строке ColumnCount я указал значение 2 и теперь в списке выпадающие данные выглядят вот так:

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

    • Работает только в 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)

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

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

    Под выпадающим списком понимается содержание в одной ячейке нескольких значений. Когда пользователь щелкает по стрелочке справа, появляется определенный перечень. Можно выбрать конкретное.

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

    Создание раскрывающегося списка

    Путь: меню «Данные» — инструмент «Проверка данных» — вкладка «Параметры». Тип данных – «Список».

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

    1. Вручную через «точку-с-запятой» в поле «Источник».
    2. Ввести значения заранее. А в качестве источника указать диапазон ячеек со списком.
    3. Назначить имя для диапазона значений и в поле источник вписать это имя.

    Любой из вариантов даст такой результат.

    Выпадающий список в Excel с подстановкой данных

    Необходимо сделать раскрывающийся список со значениями из динамического диапазона. Если вносятся изменения в имеющийся диапазон (добавляются или удаляются данные), они автоматически отражаются в раскрывающемся списке.

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

    Протестируем. Вот наша таблица со списком на одном листе:

    Добавим в таблицу новое значение «елка».

    Теперь удалим значение «береза».

    Осуществить задуманное нам помогла «умная таблица», которая легка «расширяется», меняется.

    Теперь сделаем так, чтобы можно было вводить новые значения прямо в ячейку с этим списком. И данные автоматически добавлялись в диапазон.

    1. Сформируем именованный диапазон. Путь: «Формулы» — «Диспетчер имен» — «Создать». Вводим уникальное название диапазона – ОК.
    2. Создаем раскрывающийся список в любой ячейке. Как это сделать, уже известно. Источник – имя диапазона: =деревья.
    3. Снимаем галочки на вкладках «Сообщение для ввода», «Сообщение об ошибке». Если этого не сделать, Excel не позволит нам вводить новые значения.
    4. Вызываем редактор Visual Basic. Для этого щелкаем правой кнопкой мыши по названию листа и переходим по вкладке «Исходный текст». Либо одновременно нажимаем клавиши Alt + F11. Копируем код (только вставьте свои параметры).
    5. Сохраняем, установив тип файла «с поддержкой макросов».
    6. Переходим на лист со списком. Вкладка «Разработчик» — «Код» — «Макросы». Сочетание клавиш для быстрого вызова – Alt + F8. Выбираем нужное имя. Нажимаем «Выполнить».

    Когда мы введем в пустую ячейку выпадающего списка новое наименование, появится сообщение: «Добавить введенное имя баобаб в выпадающий список?».

    Нажмем «Да» и добавиться еще одна строка со значением «баобаб».

    Выпадающий список в Excel с данными с другого листа/файла

    Когда значения для выпадающего списка расположены на другом листе или в другой книге, стандартный способ не работает. Решить задачу можно с помощью функции ДВССЫЛ: она сформирует правильную ссылку на внешний источник информации.

    1. Делаем активной ячейку, куда хотим поместить раскрывающийся список.
    2. Открываем параметры проверки данных. В поле «Источник» вводим формулу: =ДВССЫЛ(“Лист1!$A$1:$A$9”).

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

    Как сделать зависимые выпадающие списки

    Возьмем три именованных диапазона:

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

    1. Создадим первый выпадающий список, куда войдут названия диапазонов.
    2. Когда поставили курсор в поле «Источник», переходим на лист и выделяем попеременно нужные ячейки.
    3. Теперь создадим второй раскрывающийся список. В нем должны отражаться те слова, которые соответствуют выбранному в первом списке названию. Если «Деревья», то «граб», «дуб» и т.д. Вводим в поле «Источник» функцию вида =ДВССЫЛ(E3). E3 – ячейка с именем первого диапазона.
    4. Создаем стандартный список с помощью инструмента «Проверка данных». Добавляем в исходный код листа готовый макрос. Как это делать, описано выше. С его помощью справа от выпадающего списка будут добавляться выбранные значения.
    5. Чтобы выбранные значения показывались снизу, вставляем другой код обработчика.
    6. Чтобы выбираемые значения отображались в одной ячейке, разделенные любым знаком препинания, применим такой модуль.

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

    Выпадающий список с поиском

    1. На вкладке «Разработчик» находим инструмент «Вставить» – «ActiveX». Здесь нам нужна кнопка «Поле со списком» (ориентируемся на всплывающие подсказки).
    2. Щелкаем по значку – становится активным «Режим конструктора». Рисуем курсором (он становится «крестиком») небольшой прямоугольник – место будущего списка.
    3. Жмем «Свойства» – открывается перечень настроек.
    4. Вписываем диапазон в строку ListFillRange (руками). Ячейку, куда будет выводиться выбранное значение – в строку LinkedCell. Для изменения шрифта и размера – Font.

    Скачать пример выпадающего списка

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

    Источник

    Понравилась статья? Поделить с друзьями:
  • Как в excel в фильтре выбрать сразу несколько позиций
  • Как в excel в статус бар
  • Как в excel в текстовом массиве
  • Как в excel в списке создать формулы
  • Как в excel в тексте ячейки перенос слов