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

Источник: bourabai.ru

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

Если вам часто приходится вводить даты в ячейки листа, то делать это вручную неудобно. Для ввода именно сегодняшней даты можно воспользоваться функцией СЕГОДНЯ (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)

Источник: www.planetaexcel.ru

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

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

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

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

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

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

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

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

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

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

Источник: excel2010.ru

Archie Goodwin

Авторизация

Рубрики блога

  • Public / Общие темы
    • Новость + Мнение
    • Размышления
    • Уроки или советы
    • Это интересно
    • Юмор
    • Креатив
    • Рецензия
    • Личность
    • Притчи, истории
    • Новости сайта
  • Special / СпецРубрики
    • Записки вебмастера
    • Вопрос дизайна
    • Мой ПК
    • MS Office и VBA
    • Прочие офисные программы
  • Diary / Личный дневник
    • Дневник

Рекомендуем

Последние комментарии

Облако тегов

Устами великих

Реклама

Надстройка для Excel samradDatePicker v3 – выпадающий календарь для выбора даты в ячейке

Зачем это вообще нужно?

Во-первых, это удобно – выбирать дату, ориентируясь какой это день недели, всегда проще, чем использовать для сверки настольный календарь.

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

Отличия и особенности samradDatePicker v3

  • Создатель надстройки – Sam Radakovitz, руководитель команды программистов Excel в Microsoft.
  • Окошко имеет симпатичный вид, который гармонично вписывается в любую книгу Excel.
  • Отображение количества дней до выбранной даты от текущей.
  • Вызывается через контекстное меню, появляющееся после клика правой кнопкой мыши по ячейке – Выбрать из календаря или с помощью удобного всплывающего значка календарика справа от ячейки с датой.
  • В отличии от первоначальной версии, надстройка полностью русифицирована и переведена на наш стандарт недели (первый день недели – не воскресенье, а понедельник)
  • Эта версия надстройки работает как в Microsoft Office 2003, 2007 так и в Microsoft Office 2010, 2013 (учтена поддержка VBA7).

Как установить надстройку Excel?

В Excel 2003 и старше – меню Сервис – Надстройки – Обзор (Tools – Add-ins – Browse) и выбрать файл надстройки из места, куда вы его скачали.

В Excel 2007 и новее – Файл – Параметры – Надстройки – Перейти – Обзор (File – Options – Add-ins – Go To – Browse) и точно также выбрать файл надстройки из места, в которое его предварительно скачали.

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

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

Для этого нужно надстройку открыть в Excel (откроется Эксель, но содержание окна будет пустое – не будет ни одного листа), после этого открываем экселевский файл с отчетом, в который нам и нужно внедрить надстройку. В итоге, во вкладках будет активна только одна книга с отчетом – это не страшно).

Далее, необходимо перейти в VBA редактор (Alt + F11) Пароль в VBA редакторе к проекту samradDatePicker3.xla 1 (единица)

В VBA редакторе необходимо “перетащить” содержимое модулей из папочек Forms, Modules, Class Modules из проекта samradDatePicker3.xla в соответствующие папочки в проект с названием файла с вашим отчетом. Если у вас нет папочки, например, Forms в проекте VBA с вашим отчетом, то нужно выделить левой кнопкой мыши название этого проекта, а затем в верхнем меню нажать Insert и выбрать UserForm, после чего появится папочка Forms и в нее перетаскиваем все, что нужно из проекта samradDatePicker3.xla. После всех этих “перетаскиваний” необходимо открыть папочку Microsoft Excel Objects в проекте samradDatePicker3.xla и дважды кликнуть по ThisWorkbook, выделить и скопировать все содержимое и вставить это в Microsoft Excel Objects – ЭтаКнига в проекте с нашим отчетом.

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

Как работать с надстройкой календарем?

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

Способ 2. В ячейке, в которой стоит формат даты и уже стоит какая-то дата, при ее выделении левой кнопкой мыши справа от ячейки появляется иконка календаря, кликнув на которую мы вызываем окошко с календарем.

Способ 3 (не работает, если надстройка не установлена, а внедрена в файл). Выделить ячейку левой кнопкой мыши, в которую нужно вставить дату, перейти на вкладку “Надстройки” в верхнем меню экселя, и кликнуть по кнопке-ссылке Date Picker, после чего появится окошко с календарем.

Источник: archie-goodwin.net

Формат даты в Excel, календарь в Excel, надстройка samradDatePicker

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как в Excel вводить даты при помощи надстройки?

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

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

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

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

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

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

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

Источник: macros-vba.ru

Как создать выпадающий календарь в Excel – Вокруг-Дом – 2020

Table of Contents:

Вы можете вставить раскрывающиеся календари в электронные таблицы Microsoft Excel с помощью элементов управления ActiveX. Вы можете выбрать дату из выпадающего меню, так же, как вы выбрали бы элемент из списка. На самом деле раскрывающийся календарь похож на раскрывающийся список.

кредит: Изображение предоставлено Microsoft

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

кредит: Изображение предоставлено Microsoft

Выбрать Все вкладки в раскрывающемся меню «Выбрать команды из» выберите разработчик в разделе «Основные вкладки» и нажмите добавлять кнопка для отображения вкладки разработчика. Нажмите Хорошо закрыть окно параметров Excel. Теперь вы увидите вкладку «Разработчик» на главной ленте.

кредит: Изображение предоставлено Microsoft

Выберите разработчик нажмите вкладку Вставить в группе управления и нажмите Больше элементов управления кнопка – это похоже на инструменты – из раздела элементов управления ActiveX для отображения диалогового окна Дополнительные элементы управления.

кредит: Изображение предоставлено Microsoft

Выбрать Microsoft Date and Time Picker Control 6.0 и нажмите Хорошо войти в режим дизайна. Вы можете создавать элементы управления и редактировать их свойства в режиме «Дизайн».

кредит: Изображение предоставлено Microsoft

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

кредит: Изображение предоставлено Microsoft

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

кредит: Изображение предоставлено Microsoft

Вы можете изменить размер объекта, изменив значения высоты и ширины. Чтобы изменить формат даты, выберите другой вариант в поле «Формат». Установите максимальную и минимальную даты, изменив свойства MaxDate и MinDate. Чтобы изменить значение, отображаемое по умолчанию в элементе управления календаря, выберите другой параметр в поле «Значение».

Вы можете вставить дату в определенную ячейку автоматически при выборе даты с помощью раскрывающегося элемента управления календаря. Для этого введите в поле LinkedCell букву столбца ячейки, а затем номер строки – например, B3.

Источник: ru.computersm.com

Добавить комментарий

Adblock
detector