Как установить datepicker в excel

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

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

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

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

calendar-ron.png Windows Date Picker

Автор: Ron de Bruin

Цена: бесплатно

Ссылка

  • Устанавливается как надстройка (есть версии для старых Excel 200-2003 и для новых Excel 2007-2010 и, отдельно, для Excel 2013. 
  • Вызывается через контекстное меню ячейки (правой кнопкой мыши по ячейке — Date Picker). 
  • Позволяет вставлять дату в нескольких форматах, вплоть до номера недели (по разным стандартам). 
  • Автоматически подстраивается под российский стандарт недели (с понедельника).

calendar-jim-cone.png Excel Date Picker

Автор: Jim Cone

Цена: бесплатно

Ссылка

  • Макрос (не надстройка!) с открытым кодом VBA — можно посмотреть как всё устроено и модернизировать «под себя». Но надо копировать код в каждый используемый файл и вызывать нажатием на кнопку или сочетанием клавиш, т.е. универсальность хромает. 
  • Удобная система прокрутки лет и месяцев. 
  • Российскую неделю (с понедельника) знает. 
  • Каких-либо настроек нет.
calendar-vertex.png Mini Calendar and Date Picker

Автор: VERTEX

Цена: бесплатно.

Ссылка в Office Apps Store

  • Работает только в Excel 2013, добавляется через магазин приложений Office App Store на вкладке Вставка — Приложения для Office (Insert — Office Apps Store)
  • Вставляется на лист как постоянный графический объект и добавляет выбранную дату в любую выделенную предварительно ячейку. 
  • Умеет менять стандарты недели, отображать номера недель, вводить не только дату, но и время. 
  • Есть возможность задавать темы оформления. 
  • Нет кнопки перехода к текущему дню.
datepicker.jpg Date Picker

Автор: Sam Radakovitz, руководитель команды программистов Excel в Microsoft

Цена: бесплатно 

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

  • Устанавливается как надстройка. 
  • Вызывается через правую кнопку мыши по ячейке — Pick from calendar или с помощью удобного всплывающего значка календарика справа от ячейки с датой. 
  • Красивый дизайн, отображение количества дней до выбранной даты от текущей. 
  • Использует USA-стандарт недели (отображает неделю с воскресенья). 
  • Настроек нет. 

 

P.S.

Установка надстроек:

  • в Excel 2003 и старше — меню Сервис — Надстройки — Обзор (Tools — Add-ins — Browse)
  • в Excel 2007 и новее — Файл — Параметры — Надстройки — Перейти — Обзор (File — Options — Add-ins — Go To — Browse)

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

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

Вставляем календарь на лист

К сожалению, в стандартной поставке Excel отсутствует надстройка «Календарь». И если вам приходится часто вводить разнообразные даты, и вы хотите делать это, выбирая их из календаря – у вас два выхода. Срочно заняться изучением VBA (Visual Basic for Applications), или воспользоваться готовой надстройкой, созданной другими пользователями. Благо в интернете их множество.
Могу посоветовать в качестве варианта Windows Date Picker от Ron de Bruin. Достаточно удобный, автоматически подхватывает национальные настройки отображения дат, встраивается в контекстное меню. Скачать его можно, зайдя на сайт автора.

Как установить надстройку Windows Date Picker в Excel 2007

Открываем параметры Excel и в разделе «Надстройки» внизу жмем на кнопку «Перейти»
управление надстройками
В открывшемся окне нужно нажать на кнопку «Обзор» и указать путь к файлу WinDatePicker.xla, который вы распаковали из скачанного с сайта архива.
Теперь в меню правой кнопки у вас появился дополнительный пункт
контекстное меню
Выбрав этот пункт, вы получите календарь, позволяющий выбирать и вставлять даты.
календарь

Как это сделать в Excel 2003

Добраться до надстроек можно через меню «Сервис»
надстройки
А дальше все то же.
Покоряйте Excel и до новых встреч!

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

Надстройка samradDatePicker (русифицированная) для облегчения ввода даты в ячейки листа Excel.

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

Поместите файл надстройки из вложения в папку автозагрузки Excel (C:Program FilesMicrosoft OfficeOFFICExxXLSTART).

В контекстном меню ячеек появляется новый пункт — «Выбрать дату из календаря«.
Рядом с ячейками, в которые уже введена дата, будет отображаться маленький календарик, щелчок по которому вызовет большой календарь — для выбора даты.

Второй прикреплённый к статье файл — та же надстройка, только в которой неделя начинается с понедельника (в оригинале надстройки — с воскресенья)

Пароль на проект VBA — 1 (единица)

PS: Этот макрос написал не я (автор — samrad)
Файл с макросом взят на просторах интернета.
Поскольку макрос делал не я, — доработками его я не занимаюсь, никаких гарантий работы дать не могу, по использованию не консультирую.

@chamiralakmal 

Doesn’t the calendar control also work?

The control element «Microsoft MonthView Control 6.0 (SP4) can also not be found under other controls. The nice thing about the Date and Time Picker is that you can provide a date input field with little effort, which always delivers a date as the result.

Display the form in the VB editor;

under Extras / Additional Controls … check the entry ‘Microsoft Date and Time Picker Control’;

Drag the new ‘DTPicker’ icon from the toolbox into the form.

Insert a date picker

https://support.microsoft.com/en-us/office/insert-a-date-picker-afa0aea0-d4e3-4424-8e0a-c08f65928f84…

Which Excel version of 365 do you have? … and which operating system? … if it doesn’t work

and you would like to give us feedback (which I would be happy, especially if it works please specify.

Thank you for your patience and time.

Nikolino

I know I don’t know anything (Socrates)

* Kindly Mark and Vote this reply if it helps please, as it will be beneficial to more Community members reading here.

Do you need a DatePicker Calendar in your Excel spreadsheets? Follow this quick and simple tutorial to find out how. (If you prefer video, scroll down to the bottom of the page!)

Step 1. Enable Developer Mode in Excel

  • File
  • Options
  • Customize Ribbon
  • Ensure Developer checkbox is enabled

Enable Developer Mode

[sibwp_form id=100]

Step 2. Setup DateTime Control box

  • Microsoft Date and Time Picker Control
  • Click on random cell to place control box
  • Edit or remember the name box of the DateTime Picker, in this case, we will leave it as DatePicker1

Name Date Picker

  • Right click on DateTime Control box
  • DTPicker Object
  • Properties

DTPicker Object > Properties

  • Enable CheckBox

Enable Checkbox

Excel Training Guide

Step 3. Copy the Visual Basic code

To assign column A as a DatePicker, copy the following code:

Private Sub Worksheet_SelectionChange(ByVal Target As Range) With Sheet1.DTPicker1 .Height = 20         .Width = 20         If Not Intersect(Target, Range("A:A")) Is Nothing Then             .Visible = True             .Top = Target.Top             .Left = Target.Offset(0, 1).Left             .LinkedCell = Target.Address         Else             .Visible = False         End If     End With                      End Sub

Code language: PHP (php)
  • Right click the DateTime Control box
  • View Code

View Code

  • Replace all of the existing code with the code from above
  • Close the Visual Basic editor

Paste Code

  • Deselect Design Mode

Deselect Design Mode

  • Click on any cell to remove DateTime Control box
  • Click on any cell in Column A to add a Date

Pick Date

Congratulations!

Important: Make sure that when you save the spreadsheet, you “Save As: Macro enabled workbook”

How to have multiple columns with DatePickers

The above steps only work for single columns, or columns that are right next to each other. If you wanted the DatePicker column to be in column B instead, then you would change the line

If Not Intersect(Target, Range("A:A")) Is Nothing Then

Code language: JavaScript (javascript)

to

If Not Intersect(Target, Range("B:B")) Is Nothing Then

Code language: JavaScript (javascript)

Or if you wanted it from Column E to Column G, then you would change that line to

If Not Intersect(Target, Range("E:G")) Is Nothing Then

Code language: JavaScript (javascript)

However, if you need a DatePicker in two or more non-adjacent columns, then you will need a separate DatePicker (each with a separate name in the Name Box) for each non-adjacenet group. For example, let’s say we need column A, B, E, F, and H to all be DatePickers. We would need to perform the above steps 3 separate times for 3 separate DatePickers.

  • 1 for columns A, B
  • 1 for columns E, F
  • 1 for column H

The steps will be very similar, but the code will be:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)    With Sheet1.DTPicker1    .Height = 20             .Width = 20             If Not Intersect(Target, Range("A:B")) Is Nothing Then .Visible = True .Top = Target.Top .Left = Target.Offset(0, 1).Left .LinkedCell = Target.Address Else .Visible = False End If End With With Sheet1.DTPicker2    .Height = 20             .Width = 20             If Not Intersect(Target, Range("E:F")) Is Nothing Then .Visible = True .Top = Target.Top .Left = Target.Offset(0, 1).Left .LinkedCell = Target.Address Else .Visible = False End If End With With Sheet1.DTPicker3    .Height = 20             .Width = 20             If Not Intersect(Target, Range("H:H")) Is Nothing Then .Visible = True .Top = Target.Top .Left = Target.Offset(0, 1).Left .LinkedCell = Target.Address Else .Visible = False End If End With End Sub

Code language: PHP (php)

Important legal notice: This post contains affiliate links.  We are compensated for many of our product recommendations.  Pragmatic Ways is a participant in the Amazon Associates affiliate program, as well as other affiliate programs.  While we are always careful to only recommend the products we use and recommend, we want to be open and transparent about our relationship with companies we recommend.

Adam Allard

Hi, I’m Adam Allard. I’m a Full Stack Software Engineer for Northrop Grumman creating web applications for the DoD. At this time I’m primarily working with Java and Angular based applications, although I have some years of experience in various languages and frameworks from previous jobs where I dabbled with Python & Django, C# & Xamarin, PHP, and Bootstrap. My hobbies include time with my family, wondering when the Green Bay Packers will win their next Super Bowl, drinking over-priced beer, and of course learning and teaching.

Recent Posts

link to Unit Conversions

Unit Conversions

The tables below are all the unit conversion factors used in the Unit Converter App tutorial, where we walked through together building out a JavaFX and SceneBuilder interface.

Click here to…

link to How to add JavaFX to Eclipse (the easy way)

How to add JavaFX to Eclipse (the easy way)

Step 1. Download JavaFX

Go to https://gluonhq.com/products/javafx/ and download the appropriate SDK for your operating system. Make sure you download the SDK and make sure you choose the correct…

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