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

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

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

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

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

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

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

Понять абсурдность этого понятия легче всего обратившись к истокам его возникновения. Рождено оно было Полем Дираком в 1930-х, когда стало ясно, что отрицание эфира в чистом виде, как это делал великий математик, но посредственный физик Анри Пуанкаре, уже нельзя. Слишком много фактов противоречит этому.

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

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

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

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

= Мир MS Excel/Выпадающий календарь – Мир MS Excel

–> –> –> Правила форума

FAQ Новости сайта Новые сообщения Участники RSS
Отметить все сообщения прочитанными и перейти на главную страницу форума

–>

  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Выпадающий календарь (Формулы/Formulas)

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

Dion Дата: Среда, 13.12.2017, 23:16 | Сообщение № 1

Возникла необходимость сделать выпадающий календарь, чтобы не сверяться по настенному. На этом форуме нашёл несколько вариантов, выбрал наиболее подходящий, но по причине низких навыков работы в Excel есть сомнения.
Во вложении чужой готовый календарь. Из него мне нужно только дата в определённую ячейку А1. Подскажите, достаточно будет тех изменений, которые на скрине или нужно ещё глубже лезть?

Ещё я не понял как удалить эти пункты из контекстного меню.

Возникла необходимость сделать выпадающий календарь, чтобы не сверяться по настенному. На этом форуме нашёл несколько вариантов, выбрал наиболее подходящий, но по причине низких навыков работы в Excel есть сомнения.
Во вложении чужой готовый календарь. Из него мне нужно только дата в определённую ячейку А1. Подскажите, достаточно будет тех изменений, которые на скрине или нужно ещё глубже лезть?

Ещё я не понял как удалить эти пункты из контекстного меню.

Сообщение Возникла необходимость сделать выпадающий календарь, чтобы не сверяться по настенному. На этом форуме нашёл несколько вариантов, выбрал наиболее подходящий, но по причине низких навыков работы в Excel есть сомнения.
Во вложении чужой готовый календарь. Из него мне нужно только дата в определённую ячейку А1. Подскажите, достаточно будет тех изменений, которые на скрине или нужно ещё глубже лезть?

Ещё я не понял как удалить эти пункты из контекстного меню.

Автор – Dion
Дата добавления – 13.12.2017 в 23:16

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

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

Собственно, идея довольно простая, создать 42 кнопки = 6 строк X 7 столбцов , с именами, от CommandButton1 до CommandButton42 (см. первый скриншот) + необходимые элементы управления для выбора месяца и года

Более подробно :

  • Создайте одну Кнопку (CommandButton1)
  • Используя свойства Width и Height установите необходимые размеры (например 24×24)
  • Удалите весь текст кнопки, см. свойство Caption
  • Скопируйте эту кнопку, и последовательно создайте остальные шесть дней недели
  • Затем, копируйте уже все семь кнопок и вставьте пять раз подряд
  • Теперь вставьте ещё один раз, но т.к. полученный ряд должен служить заголовком(шапкой), то его необходимо расположить перед самой первой неделей
  • Если Вы не хотите, чтобы пользователь “вашего” календаря имел возможность нажимать кнопки-заголовки, то установите у последних семи кнопок значение свойства Locked как True
  • Используя свойство Caption, заполните эти семь кнопок днями недели, например, Пн, Вт, Ср, Чт, Пт, Сб, Вс
  • Создайте выпадающий список (ComboBox1)
  • Значение свойства Style установите как 2-fmStyleDropDownList
  • Значение свойства ListRows установите = 12
  • Создайте Текстовое поле (TextBox1)
  • Значение свойства Locked установите как True
  • Создайте Счётчик (SpinButton1)
  • Значение свойства Min установите = -10
  • Значение свойства Max установите = 10
    Если нужен больший/меньший период, то измените Min, Max в соответствии с Вашими запросами.

    Совет : Используя эти свойства, Вы можете сразу указать необходимый диапазон дат, например, от 1904 до 2504.

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

    Просто создайте Надпись (Label1) и расположите этот элемент управления над всеми 42 кнопками (см. скриншот)

  • Удалите весь текст надписи, см. свойство Caption
  • Значение свойства BackStyle установите как 0-fmBackStyleTransparent
  • Теперь, просто скопируйте весь нижеопубликованный код в модуль формы с самодельным календарём и продумайте как вызывать эту форму.
  • Совет : Если Вы окончательно “утвердили” макет календаря и дальнейшее изменение размеров кнопок не предполагается, то вместо Label1.Width / 7 можно сразу указать ширину кнопки, а вместо Label1.Height / 6 её высоту.

    Пример(ы) можно скачать здесь

    Источник: msoffice-nm.ru

    Формат даты в 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

    Трюк №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

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

    Adblock
    detector