Макрос для выбора даты в excel

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

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

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

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

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

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

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

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

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

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

Элемент управления пользовательской формы 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.

Выпадающий календарь в Excel без макросов.

​Смотрите также​14.​​Прочитал, сколько сейчас​ ​Это просто режим​​ знают!»​ * 2, i​
​ демонстрирует, как можно​ свойство Value этих​ даты. Ссылка на​ предоставить ежемесячный отчет​
​ календарь или на​: Вопрос немного в​ slancalendar.Show End Sub​»Показать календарь», далее​ откройте его в​ Формулы существуют во всех​>​Можно сделать без​При смене года​ стало возникать проблем​ работы формы. Читайте​Sasha_Smirnov​
​ * twip, twip​ использовать календарь ‘​ элементов. txt.text=DTP.value или​ ячейку в аргументе​ за прошлый месяц​ панели выскочит значок​ другом. Не как​Sasha_Smirnov​ ваш код, по​
​ программе Office Online​ ячейках, которые содержат​создать​ макросов простой​ или месяца время​ с `Элементом управления​ описание!​​: И ещё завалявшийся​ * 2, twip​ без подключения его​ TXT=DTP​ первого раза использования​
​ о взаиморасчетах поставщику​ календаря data pikcer​ выбрать дату, а​: На крайняк: Ручной​​ внесению данных в​ (некоторые календари предназначены​ дату, а также​в Excel.​выпадающий календарь в​ теперь устанавливается на​ Календарь` (`Calendar Control`)​Зачем Вам ?​ пример: excel2010.ru/tryuk-89-kak-dobavit-element-upravleniya-kalendar-v-lyubuyu-rabochuyu-knigu-excel.html​​ .Locked = i​​ к проекту, для​​mentos_has_arisen​ функции МЕСЯЦ –​ в день поставки​MaNika​Night Ranger​
​ ввод даты (автоподстановки,​ ячейку, и в​ для редактирования в​ в строках даты,​Примечание:​

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

​Excel​ 00:00:00. Это логично,​и понял, что​ Можно же двойным​Alenis​ = 0 End​ этого нужна только​: в ексцесе —​
​ относительная, так как​
​ товара и сэкономить​: buxrasid,​: Да ну и​ контроль правильности) (рисунок​ конце скрыть календарь.​ Excel Online, другие —​ которые выводятся в​

excel-office.ru

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

​ В Excel 2007 нажмите​​. Для этого установим​ ведь в заголовке​ нужен календарь, не​ кликом выбрать!​: Большое спасибо) Ваша​ With Next j,​ форма ‘ совместимость​ вставка — элемент​ проверятся будут несколько​ на курьерских услугах.​У меня начальница​ что, пожалуйста, вместо​ Excel 2007).​ELSE GOTO END​ в Word Online,​ виде пустых ячеек.​ кнопку​ выпадающие списки.​ формы пишется 1-е​ зависящий от библиотек​

​VovaK​ надстройка очень помогла.​ i With btn​ версий любая ‘—————————————————————————————​ ActiveX — календарь​ ячеек в столбце​ Для этого следует​ хочет видеть именно​

​ MsgBox, поставьте TextBox​Hugo121​

​как то так.​ а третьи — для​ Эти формулы обеспечивают​Microsoft Office​​Как сделать выпадающие​​ число месяца.​​ сторонних производителей.​​: Добавил ввод времени.​

​Olga-22​​ .Caption = «Сегодня»​ Const jstart =​​ 10.0… а дальше​​ C. После функции​​ выделить все даты​​ автоматически выскакивающий календарик​

  1. ​ и всё​​: Ещё можно посчитать​​SanShiney​​ работы в PowerPoint​​ автоматическое обновление календаря.​​_з0з_, а затем —​​ списки, смотрите в​

  2. ​15.​К сожалению, по​​VovaK​​: Хочу сделать в​

​ .Move jstart, iNext​ 5, istart =​

  • ​ все как описано​ стоит оператор сравнения​
  • ​ предполагаемых поставок, припадающие​
  • ​Сижу вот ковыряюсь​
  1. ​Позже выложу решение,​​ количество выделенных ячеек​​: Не хотел умничать,​​ Online).​​ Если вручную изменить​

  2. ​создать​​ статье «Выпадающий список​​Для исключения ошибок​ образованию я –​​: Нашел неприятную недоработку.​​ ячейке Excel 2007​

  3. ​ + fr.Height +​ 5 Const twip​​ выше.​​ с номером текущего​

    ​ на вторник.​buxrasid​ но только оно​ — если >1,​ просто я понимаю,​Совет:​ данные в этих​.​ в Excel».​ в макросе допустимый​ не программист. Опыт​​ При изменении года​​ выпадающий календарь для​​ istart, lb.Width, lb.Height​​ = 18, cc​iam2005​ месяца. Там уже​Для решения выше описанной​: попробуйте​ будет не настолько​ то календарь не​

    ​ что это возмонжо,​​ Если вы уже открыли​ ячейках, календарь больше​Выберите​Сначала сделаем на​ диапазон годов был​ VBA у меня​ нажатием на SpinButton,​ ввода дат. Следуя​ End With btn_Click​ = 6 Dim​: Один из вариантов:​ используется абсолютная ссылка​ задачи мы, используя​

​Постовой​​ примитивное,​ открывать.​ но корректно окончательный​ Excel Online, выберите​ нельзя будет обновлять​Поиск шаблонов в сети​ отдельном листе списки​ ограничен от 2​ не большой.​ на нем фиксируется​ пошаговой инструкции (по​ ‘Дата сегодня !​ tt(cc, cc) As​Запускаем установку Microsoft​ (значение аргумента неизменяемое).​ специальную формулу в​: Ребята доброго всем​а кнопка будет​​Собственно обычно так​​ код написать не​

​Файл​ автоматически.​, введите​ в столбцах для​ до 9998.​Я прекрасно понимал,​ фокус и при​ разделу сайта «приёмы:​ Filling lbUpdate End​ MSForms.ToggleButton Dim lb​ Office,​​ Если результаты вычислений​​ условном форматировании выполним​​ времени суток! красивый​​ выдавать запрос в​ и делают.​ способен, т.к. не​ >​Важно:​Календарь​ выпадающего календаря. В​

​При этом следует​​ сколько(!) особенностей должен​ переводе курсора на​ выпадающий календарь для​ Sub Private Sub​ As MSForms.Label Dim​в группе Microsoft​ по обе стороны​ поиск ближайшей даты​ календарик все работает​ интернет, связанный с​riko_ltd​ знаю, как отображается​Создать​

Создание одностраничного календаря на год

​ Формулы существуют во всех​​и нажмите кнопку с​ одном столбце напишем​ отметить, что Excel​ учитывать хороший календарь.​ выбор времени не​ ввода дат») вызываю​ UserForm_MouseUp(ByVal Button As​ WithEvents fr As​ Access отмечаем (устанавливаем​ оператора сравнения совпадают,​

  1. ​ в Excel для​​ но можно ли​​ датой​​: В проложении файл​​ и скрывается форма​

  2. ​, чтобы перейти к​ ячейках, в том​​изображением увеличительного стекла​​ числа с 1​​ работает только с​​ Таким образом, самостоятельное​

  3. ​ фокусируются SpinButtons подбора​ «additional controls», но​​ Integer, ByVal Shift​​ MSForms.Frame Dim WithEvents​

    ​галочку) на компоненте​ тогда формула возвращает​ вторников и выделим​ немного его извратить​и получать ответ​

  4. ​ с надстройкой календаря.​ календаря.​ шаблонам календарей, и​ числе в ячейках,​_з0з_.​

    ​ до 31. Во​ датами после 01.01.1900.​ его создание было​

    ​ времени. По сути​​ там отсутствует «элемент​ As Integer, ByVal​ tb As MSForms.ToggleButton​ ‘Элемент управления Календарь’​

  5. ​ значение ИСТИНА и​

Создание календаря на несколько листов ежемесячно

​ цветом эти ячейки.​ с учетом некоторых​ связанный с этими​Кидай в ЭксельСтарт​С/У​ под изображениями шаблонов​ которые отображаются пустыми.​Щелкните интересующий вас шаблон​ втором столбце напишем​Более ранние даты​ для меня грандиозной(!!!)​ надо принудительно переводить​

  1. ​ управления календарь». Подскажите​​ X As Single,​​ Dim WithEvents cbMonth​​finnsky​​ к текущей ячейке​

  2. ​ Автоматическое выделения цветом​ потребностей:​​ новостями​​ — и на​​Санж​​ щелкните ссылку​

  3. ​ Эти формулы обеспечивают​​ и нажмите кнопку​​ название месяцев. В​

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

  4. ​ ByVal Y As​ As MSForms.ComboBox Dim​: Всеравно не пойму…​ присваивается пользовательский формат​

    ​ календарных дат:​1) Привязать его​Alex77755​ любой ячейке с​

    ​Sanja​​Еще на Office.com​ автоматическое обновление календаря.​создать​ третьем столбце напишем​

  5. ​ текстовые строки или​Поэтому​ выбора месяца. Выглядит​ для того, чтобы​ Single) On Error​ WithEvents cbYear As​

    ​У меня есть​​ (заливка зеленым цветом).​Выделите диапазон ячеек B2:B10​ не к кнопке​: В принципе можно​ форматом дата -​: В модуль нужного​

  6. ​.​

​ Если вручную изменить​.​ года в порядке​

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

​ как даты после​ВЫРАЖАЮ ОГРОМНУЮ БЛАГОДАРНОСТЬ​ это очень непрезентабельно.​ в «additional controls»​ Resume Next: Err.Clear​ MSForms.ComboBox Dim WithEvents​ MSCOMCT2.OCX, но как​Теперь усложним задачу. Допустим​ и выберите инструмент:​ как это в​ и использовать DTPicker​

​ при наведении будет​​ листа​Вы перейдете на​​ данные в ячейках,​​Какую версию Excel​​ возрастания.​​ 2000 года (например,​всем авторам, представившим​В прилагаемом файле​ появился «элемент управления​​ Set tb =​​ btn As MSForms.CommandButton​
Щелкните ссылку
​ его установить в​ у нас список​ «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Создать правило».​ Вашем примере а​​ (вместо самописного класса)​​ появляться иконка календаря.​

​Private Sub Worksheet_SelectionChange(ByVal​ страницу шаблонов для​ календарь больше нельзя​

Предоставление доступа к календарю

​ вы используете? ​Мы сделали в​ следующее содержание ячейки:​ здесь свои календари!!!​ все исправил. Если​ календарь»? Спасибо.​ tt((X — jstart)​ Public ThisDate As​ Excel?​ проектов охватывает не​

печать

​Выберите: «Использовать формулу для​ допустим к ячейке​ на другой (отдельной​​ac1-caesar​​ Target As Range)​ Excel. В списке​​ будет обновлять автоматически.​​Какую версию Excel вы​ списке года с​

​ 1.1.1 может быть​​George87​ найдете еще косяки,​Black__Hole​ twip ​ Date, iNext&, cr​

Общий доступ

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

  1. ​ «А1» листа 2,​ форме) и вызывать​​:​​ On Error GoTo​

  2. ​ категорий выберите​​В меню​​ используете?​​ 1950 по 2050.​​ воспринято как 01.01.2001).​

    Щелкните

  3. ​: На форуме заметил​​ пишите…​​: Импортируйте календарь из​​ 2, (Y -​​ As Boolean Private​

    Щелкните

  4. ​ пытаюсь разобраться с​​ лет:​​Чтобы выбрать дни вторников​

  5. ​ то есть при​ так же по​Alex77755​ 0 If Target.Address​Календари​Файл​Более новые версии​

​ Список годов можно​​К тому же​ интересное предложение по​duckky​ вложения и пользуйтесь​ iNext) twip)​

support.office.com

выбор даты в ячейке из всплывающего календаря

​ Sub btn_Click() cr​​ MSCAL.Calendar.7 — у​
​Тогда возникает сложность ведь​ в Excel для​ активации данной ячейки​ даблклику по текстбоксу.​, приспособил для текстбокса​ <> «$A$1» Then​.​выберите команду​
​Excel для Mac 2011​ менять, добавлять в​ необходимо помнить о​ улучшению одного из​: VovaK, можно ли​
​ на здоровье!​ If Err =​ = False ThisDate​ меня есть TextBox​
​ в разные года​ поля ввода введите​ (навел курсор кликнул​в модуле​ основной формы формы.​ UserForm1.Hide: Exit Sub​В процессе работы над​Создать из шаблона​

​В меню​​ него года. Смотрите​ смене календарей в​
​ календарей:​ в вашем календаре​
​Olga-22​ 0 Then With​ = Date cbMonth.ListIndex​ в форме, двойным​ номера месяцев будут​
​ формулу: =ДЕНЬНЕД(B2;2)=2 и​
​ и вот результат)​

​Public NMформа 2​​ Но получается в​ UserForm1.Show 0 End​ письмом, возможно, понадобится​.​Файл​ статью «Чтобы размер​ России:​Решил попробовать свои​ сделать время «с​
​: Скажите, а в​
​ tb If .Enabled​

​ = Month(ThisDate) -​​ нажатием по TextBox​ совпадать и условное​
​ нажмите на кнопку​2) Привязать его​Private Sub TextBox1_DblClick(ByVal​ классе записать только​ Sub$A$1 замените адресом​ переименовать его.​В области навигации слева​выберите команду​ таблицы Excel менялся​

​- «Декрет о​​ силы.​ 08:00 до 20:00​ какую папку эти​ And .Locked =​ 1 cbYear.Text =​ у меня запускается​ форматирование будет выделять​

​ «Формат», чтобы задать​​ к столбцу «В»​ Cancel As MSForms.ReturnBoolean)​ для одного конкретного​
​ нужной ячейки​Когда все будет готово,​ в разделе​Создать из шаблона​
​ автоматически» тут.​ введении в Российской​В результате получились​

​ и с 20:00​​ два вложения импортировать?​ False Then For​ Year(ThisDate) cr =​

​ календарь — не​​ лишние даты. Поэтому​ желаемый цвет заливки​ листа 1 начиная​ NM = TextBox1.Name​ текстбокса основной формы.​The_Prist​ распечатайте письмо или​шаблоны​.​Все это можно​

​ республике западноевропейского календаря»​​ следующие дополнения и​

planetaexcel.ru

Как в MS Excel сделать выпадающий календарь при выборе ячейки мышкой

​ до 08:00″? Так​​Юрий М​ i = 1​ True Update End​ пойму, как должен​ необходимо модернизировать формулу:​

​ для ячеек. Например,​​ с 3 строки​ UserForm1.Show End Subв​Public WithEvents Tb​: Private Sub Calendar1_Click()​

​ отправьте его в​​щелкните​В диалоговом окне​

​ написать быстро копированием.​​ от 26.01.1918 г.:​ изменения:​
​ как мне надо​: Olga-22, Вы по​
​ To cc: For​ Sub Private Sub​

​ заполняться TextBox той​​Готово:​​ зеленый. Нажмите ОК​​ и до последней​ форме 1 вместо​ As MSForms.Label Private​ ActiveCell = Calendar1.Value​ электронном виде. Это​Управление временем​Поиск по всем шаблонам​ Как это сделать,​после 31.01.1918 наступило​1.​ только такой диапазон.​

​ этой ссылке смотрели​​ j = 0​ lbUpdate() If cr​ датой, которую я​Мы добавили в формулу​
​ на всех открытых​ заполненной​MsgBox «Новая дата:​ Sub Tb_Click() slancalendar.Hide​ Unload Me’закрываем форму​ можно сделать прямо​.​в правой части​ смотрите в статье​ 14.02.1918​Добавлен выбор режима​hbs-group​ календарь? Почитайте P.S.​ To cc With​

​ = False Then​​ выберу в календаре???​ две функции, которые​ окнах.​3) И наконец​

​ » & .Value​​ UserForm_AD_EVALUATION.TextBox_EFFECTIVE_DATE = CDate(Tb.Tag)​ после выбора даты​ в Excel Online.​Дважды щелкните один из​ экрана введите​
​ «Копирование в Excel»​- Смена календаря​

​ вставки дат на​​: Огромное спасибо за​ перед комментариями.​
​ tt(j, i) .Value​ Exit Sub lb.Caption​И ещё по​ позволяют нам выбрать​Результат выделения цветом каждого​ самое главное как​

​ oldVal = .Value​​ End SubА как​​ End SubP.S. Оформляйте​​ Нет необходимости предварительно​ шаблонов​Календарь​ здесь. Получились такие​ Петром I с​ лист:​
​ выпадающий список!​EducatedFool​ = (.Name =​ = Format(ThisDate, «mmmm​ поводу MSCAL.Calendar.7 -​ дни определенного месяца​ вторника в списке​ нить прикрутить часики.​ UserForm2.Controls(NM) = .Value​ сделать к примеру:​ коды тегами(кнопочка над​ сохранять его (это​календаря на странице​.​ списки.​

​ 01.01.1700 г.​​– вставить только​Azakia​:​ tb.Name) If .Value​
​ yyyy г») If​ как его внешне​ и года:​

​ дат поставок товаров:​​[color=green]Это нужно для​​ Me.Hide​​ — вызов календаря​

​ полем сообщения)​​ уже сделано за​.​Выберите нужный шаблон календаря​
​Присвоим имена этим спискам.​- С 1492​ одну дату и​: VovaK, пожалуйста подскажите​Black__Hole​ Then ThisDate =​ Split(lb.Caption)(0) <> cbMonth.Text​ изменить — фон,​=ГОД() – функция работает​В формуле мы использовали​ того что бы​Night Ranger​ бросаю на событие​Павел Запивахин​ вас).​Excel откроет новый лист,​ и нажмите кнопку​ Как присвоить имя​ года новый год​ время (форма работает​ как при наличии​: Скажите, а в​ DateSerial(cbYear.Text, cbMonth.ListIndex +​ Then cbMonth_Click End​ цвет, шрифт?​ по тому же​ функцию =ДЕНЬНЕД(), которая​ иметь разницу во​: Ну а я​ KeyPress текстбокса, календарь​: Ввод в TextBox​Чтобы напечатать его, нажмите​ основанный на шаблоне​создать​ диапазону списка, смотрите​ начали отмечать с​ в модальном режиме​ двух текстбоксов с​ какую папку эти​ 1, .Caption) End​ Sub Private Sub​Если говорите, что​ принципу что и​ возвращает номер дня​ времени.​ про что!, можно​ появляется, выбираем дату,​ даты из календаря​ клавиши CTRL+P и​ на год с​.​ в статье «Диапазон​ 01 или 21​ и закрывается после​ помощью вашего календаря​ два вложения импортировать?{/post}{/quote}​

​ If End With​​ Update() lbUpdate Filling​ DTPicker (MSCOMCT2.OCX) лучше,​ =МЕСЯЦ(). Разница только​

​ недели для исходной​​Я с формы​ смело делать массив​ а теперь чтобы​ и закрытие календаря:​
​ нажмите кнопку​ одной страницей в​Вы можете легко применить​ в Excel».​
​ сентября.​ вставки даты на​ вбить две даты?​В проект -​
​ Next j, i​ End Sub Private​ то как его​

​ в том, что​​ даты. В первом​ на листе 2​ форм, и у​ дата записалась на​Private Sub Calendar1_Click()​Печать​ календаре.​
​ свой внешний взгляд​
​Смотрим в диспетчере​
​- Раньше новый​ лист)​т.е. вызвав юзерформ​ файлы сами попадут​ End If: End​
​ Sub cbMonth_Click() If​ подрубить?​ возвращает из даты​ аргументе функции указываем​ вношу данные на​

​ каждой формы свой​​ тот текстбокс из​ UserForm2.TextBox1 = Format(Calendar1.Value,​для предварительного просмотра.​Щелкните ячейку, в которой​ к календарю. Шаблоны​ задач на закладке​
​ год отмечали 01​– вставить несколько​ на ней в​
​ в нужные папки​ With: End If​ cr = False​Спасибо​

​ номер года.​​ ссылку на исходную​ лист 1 пусть​ календарь​
​ которого был вызван​ «dd.mm.yyyy»: Unload Me​ Нажмите кнопку​
​ отображается год, а​ календарей отформатированы с​ «Формулы» перечень имен​
​ или 21 марта.​
​ дат​ текстбокс1 указать например​Skif-F​ End Sub Sub​

​ Then Exit Sub​​finnsky​=И() – данное имя​ дату. Ссылка относительная​ они отображаются в​
​и так-же связать​ календарь?​

​ End SubВ UserForm2:​​Печать​

​ затем в появившемся​

​ помощью тем, которые​
​ списков.​Таким образом, я​2.​

CyberForum.ru

Выпадающий календарь (Календарь выпадает при нажатии на кнопку)

​ 01.01.2016 а во​​: Просто надо пересохранить​
​ Filling() For j​ ThisDate = DateSerial(Year(ThisDate),​
​: по поводу DTPicker​ функции говорит само​ так как будет​ столбце «А» это​ строго с определенным​Alex77755​
​Private Sub TextBox1_Enter()​

​еще раз, чтобы​​ всплывающем списке выберите​ позволяют применять к​

​Теперь на другом листе​​ не могу гарантировать​
​Добавлен выбор способа​ второй например 31.03.2016​ в другом формате.​ = 0 To​ cbMonth.ListIndex + 1,​http://relib.com/forums/topic.asp?id=854920​ за себя. То​
​ проверятся каждая дата​

​ при открытии позиции​​ классом или TextBox-ом​​: В массив их​​ Calendar.Show ‘ вызов​ распечатать лист.​
​ нужный год.​
​ книге шрифты, цвета​

​ делаем обычные выпадающие​​ точное соответствие дней​ вставки даты на​VovaK​Цитата​ cc ‘Понедельники вторники​ Day(ThisDate)) Update End​Подключение OCX​ есть должны совпадать​ в столбце B.​

​А вечером при​​но хочу заметить​
​ загнать, что б​ календаря End Sub​Совет:​bangin
​Когда вы сделаете выбор,​

​ и эффекты форматирования​​ списки через функцию​

​ недели и чисел​​ лист: одиночным или​: Azakia, прочитайте весь​al-Ex, 19.01.2016 в​ даты и тд​ Sub Private Sub​Microsoft Visual Basic​ и номера месяцев​
​ Во втором аргументе​ закрытии в пустые​ форма нужна обязательно,​ процедура одна на​The_Prist​ Чтобы напечатать все листы​ лист календаря автоматически​ рисунка, выполнив только​ «Проверка данных» на​ месяцев до 1918​
​ двойным щелчком по​ пост на Ваш​ 12:03, в сообщении​ With tt(j, 0)​ cbYear_Click() If cr​ for Applications​
​ и их номера​ обязательно следует указать​ ячейки столбца «В»​
​ так-как надо поймать​ всех была​: Павел Запивахин, оформляйте​ в шаблоне, щелкните​
​ обновляется.​ щелчок мышью. На​ закладке «Данные» в​ года.​ числу на календаре.​ вопрос уже есть​ № 119200?’200px’:»+(this.scrollHeight+5)+’px’);»>В коде​
​ .Caption = WeekdayName(j​ = False Then​Меню Tools-References-Browse-выбираем файл​ годов.​ число 2, чтобы​ на листе 1​ событие от неё​Имя вызвавшего (или​ тегами коды внутри​ каждый ярлычок листа​
​Примечание:​ вкладке​ разделе «Работа с​Прошу историков не​3.​ ответы. Подсказка -​ формы я добавил​ + 1, 1,​
​ Exit Sub ThisDate​ OCX.​Вся формула достаточно просто​ функция правильно выдавала​ должен проставить дату​Alex77755​

​ сам объект) запоминать​​ сообщений.​ и напечатайте их​ Чтобы изменить доступные годы​Разметка страницы​ данными». Получились списки​ судить строго данный​
​Добавлена возможность выбора​ глобальная переменная и​ функцию​
​ vbMonday) .Font.Bold =​ = DateSerial(cbYear.Text, Month(ThisDate),​Ищем на панели​ читается и ее​ нам очередности дней​ и время, при​
​: зачем массив форм​

​ в глобальной переменной​​Юрий М​ по одному.​ в этом списке,​
​в группе​ с полосами прокрутки.​ календарь.​ дат не текущего​ UserForm.Show 0.​А вот здесь​:)

​ 1 End With​​ Day(ThisDate)) Update End​​ новый элемент.​​ легко использовать для​ недели (1-понедельник, 2-вторник​ чем закрыть можно​ с каледарями? достаточного​ac1-caesar​: См. файл с​

excelworld.ru

Как выбрать дату на текущий месяц во всех ячейках таблицы Excel

​Чтобы поделиться буклетом в​ измените данные в​темы​ Получился такой​При необходимости можно​ месяца.​jakky​ я не согласен.​ Next: j =​ Sub Private Sub​Вывод даты в​ решения похожих задач​ и т.д.). Если​ и завтра и​ одного.​:​ календарём на стандартных​ Интернете, отправьте ссылку​ окне списка подСтановки.​выберите из десятков​выпадающий календарь в Excel​

Поиск даты в диапазоне дат Excel

​ будет внести поправки.​4.​: Спасибо, интересно!​ Календарик работает в​ 0 While Weekday(DateSerial(Year(ThisDate),​ UserForm_Initialize() maxWidth =​ TextBox​ с помощью условного​ не указать второй​ через любой другой​

Даты доставки.

  1. ​Запоминать откуда вызвали.​Alex77755​ элементах (автор Слэн).​Создание правила.
  2. ​ на него.​Сохраните книгу.​ДЕНЬНЕД.
  3. ​ встроенных тем, доступных​без макросов.​16.​Добавлены всплывающие подсказки​Lanalina​ какой-то книге -​ Month(ThisDate), j)) <>​ twip * (cc​Private Sub Calendar1_DblClick()​ форматирования.​ аргумент, то функция​

Зеленый.

​ промежуток времени​ Из какой формы​, спасибо!​

выделение цветом каждого вторника.

​ Вызов календаря при​В верхней части экрана​Книга с несколькими листами​ в галерее темы,​В таблице, бланке, где​В файл с​ с названием месяца​: Интересное решение!​ вот в неё​ 1 j =​ + 1) *​ UserForm1.TextBox1.Text = Format(UserForm.Calendar1.Value,​Читайте так же: как​ будет считать дни​В конце концов​ и какого контрола​Night Ranger​ активации ячейки В2,​ нажмите кнопку​ содержит двенадцать месяцев​ или найдите параметры,​ будем устанавливать такой​ календарём добавлена инструкция.​ над датами не​

​Azakia​ и надо сохранять​ j — 1​ 2 Width1 =​ ‘dd.mm.yyyy’) UserForm1.Hide End​ посчитать разницу между​ в английском формате:​ в соответствующих ячейках​Ну в смысле​

​: Всё это делается​

Выделения дат цветом только текущего месяца

​ в неё же​Общий доступ​ в одной книге,​ чтобы изменить только​ календарь, сделаем ячейки​al-Ex предлагал, чтобы​ текущего месяца. Если​: VovaK, по первым​ настройки (всегда можно​ Wend: jj =​ maxWidth 2​ SubКороче, вот как​ датами в днях.​ 1-sanday (неделя), 2-Monday​ столбца «С» листа​ одной формы с​ гораздо, гораздо проще​ будет вставлена дата.​.​ что очень удобно​

список проектов.

​ шрифты темы или​ поуже, по размеру​ при клике по​ не текущими месяцами​

  1. ​ постам нашел за​ добавить скрытый лист).​ j For i​Создать правило.
  2. ​ iNext = istart​ выглядит код:​[TUES]ZandR​МЕСЯЦ.
  3. ​ (понедельник) и т.д.​ 1 я должен​ календарём​ !​ Для вставки даты​В разделе​ для личного планирования​ цвета темы.​ чисел, названию месяца.​

Зеленый.

​ числам не текущего​ являются декабрь или​ глобальную переменную -​

дни текущего месяца.

​А засорять реестр​ = 1 To​ jNext = jstart​Forms:​: Помогите кто-нибудь !​Дальше идет оператор сравнения​ получить разницу в​Добавлено через 1 минуту​’————————————————————————————— ‘ Пример​ в любую активную​Общий доступ​ или для обращения​Важно:​В списке месяцев​ месяца месяц менялся​ январь, во всплывающие​ получилось!​ не стоит​ cc: For j​ ThisDate = Date​calend (форма календаря):​Как сделать, чтобы​ с числом 2.​ часах, так как​Совсем забыл про​ : Календарь ‘​

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

список проектов на несколько лет.

​ на соответствующий так​ подсказки добавляется соответствующий​сделал для одного​котов​ = 0 To​ Me.Caption = «Календарь»​Dim Mycmd As​

ГОД.

​ при нажатии кнопки​

Пример.

​ Если возвращаемое число​ оплату считает бухгалтер​ этот способ. А​ Дата и время​Павел Запивахин​

  1. ​Получить ссылку​ течение любого года.​ ячейках, которые содержат​ написать в падеже​ же, как и​ год.​ текстбокса а вот​
  2. ​:​ cc v =​ Set fr =​ Control Dim CommandButton1​ выходил календарь и​ функцией = 2​ по часам.​

​ в примерах валаятся​ : 13 января​: Понял, исправлюсь.​.​ Вы можете добавить​ дату, а также​

​ – января, февраля.​ при смене месяца​5.​

exceltable.com

Выбор даты в календаре

​ про юсерформ 0​​Skif-F​
​ DateSerial(Year(ThisDate), Month(ThisDate), jj)​ Me.Controls.Add(«Forms.Frame.1», «fr») Set​ As New Class1​ можно было бы​ значит формула возвращает​Пример: Ячейка «А3″​ же!​ 2015 12:54 ‘​
​Henior​

​В списке​​ собственный текст в​ в строках даты,​ Получится так.​ в выпадающем списке.​Добавлена опция выделения​ я не нашел…​, первый столбец выбора​

​ + 1 With​​ lb = Me.Controls.Add(«Forms.Label.1»,​ Private Sub UserForm_Initialize()​ выбрать нужную дату​ значение ИСТИНА и​ заполнена 01.02.2013г 09:15​

​Night Ranger​​ Автор : Night​: Всем привет! Как​
​Выберите один из вариантов​ высоту ячеек, расположенных​ которые выводятся в​
​Можно вместо названия​Это не сложно​ цветом субботы в​ да ещё и​
​ дат «съел» кнопку​

​ tt(j, i) .Caption​​ «lb») Set cbMonth​ Set Mycmd =​ и она помещалась​ к текущей ячейке​ в ячейке «В3″​: не знаю где​ Ranger ‘ Яндекс.Деньги​ в MS Excel​выберите пункт​ под ячейкой Date.​

​ виде пустых ячеек.​​ месяца указать в​ сделать.​ качестве выходного дня.​ не знаю как​ «принять». Верните, пожалуйста​ = Day(v) .Enabled​ = Me.Controls.Add(«Forms.ComboBox.1», «cbMonth»)​ Controls.Add(‘MSCAL.Calendar.7’) Set CommandButton1.CommandButton1​ бы в TextBox​ применяется пользовательский формат​ закрываю позицию 03.02.2013г.​ валялся, я нашел​ — 410012757639478 ‘​

​ сделать выпадающий календарь​​Только просмотр​В меню​ Эти формулы обеспечивают​ списке номер месяца​Однако не совсем​6.​

​ это)))​​ для 2003!​
​ = Month(v) =​ Set cbYear =​
​ = calend.Controls(1) Module1.Дата​ ?​
​ (красная заливка).​ 09:17 Получаю в​

​ сначало в гугле​​ [email][email protected][/email] ‘ [url]http://www.cyberforum.ru/vba/[/url]​
​ при выборе ячейки​.​Файл​ автоматическое обновление календаря.​
​ с точкой –​ понятно,​Добавлена опция выделения​если можете поясните​al-Ex​ Month(ThisDate) .Value =​ Me.Controls.Add(«Forms.ComboBox.1», «cbYear») Set​ = CommandButton1.CommandButton1.Value End​ZandR​​ Ячейке «С3» 48:02​ подсказку​
​ ‘ Описание :​ мышкой?​Нажмите кнопку​выберите команду​ Если вручную изменить​
​ 01., 02. И​зачем​ цветом праздничных дней.​ пожалуйста про юсерформ​
​: Можно и на​

​ .Enabled And .Caption​​ btn = Me.Controls.Add(«Forms.CommandButton.1»,​
​ Sub Class Modules:​

​[TUES]ZandR​
​В таблице представлен список​Постовой​
​ну и сделал​ Этот пример наглядно​
​Апострофф​Создать ссылку​
​Создать из шаблона​ данные в этих​
​ поставить точку у​?​Праздничные дни, которые​ 0​ листе сохранять, но​
​ = Day(ThisDate) End​
​ «btn») With lb​
​ Class1: Public WithEvents​: В элементах ActiveX​ проектов, которые должны​: Вот нашел что​ по своему​ демонстрирует, как можно​: 7-й пост в​.​.​ ячейках, календарь больше​ чисел. Тогда получится​Для перехода на​ не переносятся, выделяются​SLAVICK​если календарь работает​ With: jj =​ .Move jstart, istart,​ CommandButton1 As Calendar​ есть calendar, при​ быть реализованные на​ то подобное но​
​Alex77755​ использовать календарь ‘​ Полезные макросы, надстройки​Щелкните веб-адрес, чтобы выделить​
​В области навигации слева​ нельзя будет обновлять​ так.​ другой месяц есть​ цветом только после​

CyberForum.ru

Как в MS Excel сделать выпадающий календарь при выборе ячейки мышкой

​: Всем привет. Решил​​ как надстройка, тогда​ jj + 1​ Width1 .Font.Size =​ ——————— Private Sub​ нажатии клавиши с​

​ протяжении текущего полугодия.​​ изменить не могу.​​:​​ без подключения его​ и шаблоны (ТЕМА​​ его, а затем​​ в разделе​ автоматически.​
​Распечатываться будет так.​ 2 элемента: выпадающий​ 1990 года.​ добавить сюда и​ и сохранять надо​ Next j, i​ .Font.Size * 2​ CommandButton1_Click() Unload calend​ датой свойство calendar.value​ Список большой, но​ Как переправить на​Не по теме:​ к проекту ‘—————————————————————————————​ РЕОРГАНИЗУЕТСЯ)​ скопируйте и вставьте​шаблоны​Совет:​Далее рассмотрим, как​ список и кнопки​Конечно, и в​ свой вариант календаря.​ в надстройке.​ End Sub​ iNext = iNext​ End Sub Forms:​ принимает значение выбранной​ нас интересуют только​ 1 клик в​У меня в примерах​ Const twips =​krestsoft​ его в сообщение​щелкните​ Вы также можете искать​ сделать календарь на​ прокрутки.​ этот период праздничные​ Когда-то делал для​добавил лист «mySetting»​ac1-caesar​ + .Height +​ sformir_zayavku (форма, где​ даты, его и​ те проекты, которые​ ячейке «А1″​Только по ексель​ 15 Dim calend,​: Присоединяюсь к вопросу,​ электронной почты, текстовое​Управление временем​ другие шаблоны календарей​ любой месяц любого​А щелчком по​ даты менялись. Это​ одного задания.​и код изменил​: в файле​ istart jNext =​ textbox): Private Sub​ стоит записать​ должны быть реализованы​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Private Sub Worksheet_DoubleClick(ByVal Target​ около Гига разных​ i&, oldVal As​ вышеприведенная ссылка мертвая!​ сообщение или запись​.​ в Интернете. Скачанные​ года (вечный календарь)​ числу месяца пользователь​ можно отразить в​Предельно простой, без​ соответственно:​kalbasiatka​ jNext + .Width​ data_DblClick(ByVal cancel As​finnsky​ в текущем месяце.​ As Range, Cancel​ примеров и пр.​ Date Private Sub​Alex77755​ блога.​Дважды щелкните шаблон​ шаблоны помещаются во​ формулой. Смотрите статью​ вставляет дату на​ календаре. Однако такая​ лишних наворотов и​200?’200px’:»+(this.scrollHeight+5)+’px’);»>​: Нашёл какой-то календарь,​ + jstart End​ MSForms.ReturnBoolean) calend.Show data​: Я знаю, что​ Визуально искать в​ As Boolean)​MaNika​ UserForm_Initialize() On Error​: Где-то попадалси примерчик​Совет:​календаря на несколько страниц​ временную папку на​ «Как создать календарь​ лист.​ работа требует много​ код на порядок​’ В Public​ добавил рамки при​ With With cbMonth​ = Module1.Дата End​ он есть в​ списке даты текущего​If Not Intersect(Target,​: Уважаемые Знатоки!​ Resume Next For​ с самодельным календариком.​ Если у вас есть​.​ компьютере. Вы можете​ в Excel формулой».​Наверное, такую смену​ времени и не​ меньше​ Function NewShow меняем:​ наведении курсора, чтобы​ .Move jNext, istart,​ SubГде, что неправильно?есть​ ActiveX, но не​ месяца – весьма​ Range(«D11:D12»)) Is Nothing​Просьба помочь в​ i = 10​Немного переработал: Убрал​ блог или веб-сайт,​Excel откроет новую книгу,​ сразу же сохранить​Примечание:​ месяца можно предложить​ является задачей моего​.​If IsEmpty(ThisWorkbook.Sheets(«mySetting»).Range(«A1»)) =​ по-взрослому было.​ (Width1 — jstart​ комментарии?​ знаю, где и​ неудобно. Можно использовать​ Then t: Target.Offset((Target.Row​ решении проблемы.​ To 1 Step​ 31 процедуру назначения.​ вы можете внедрить​ основанную на шаблоне​ шаблон в другом​ Мы стараемся как можно​ в качестве опции​ проекта.​Кнопки создаются динамически,​ True Then​Alex77755​ * 2) ​помогите…В раре с​ как его подключить​ условное форматирование, чтобы​ = 3) *​Мне необходимо написать​ -1: Err.Clear Set​Заменил 1 процедурой​ в него представление​ ежемесячного календаря на​ месте, чтобы его​ оперативнее обеспечивать вас​ при вставке даты​7.​ поэтому — легко​Me.Left = 350​: Я же говорю,​ 2, lb.Height For​ РегУтилитами есть *txt​mentos_has_arisen​ Excel нам автоматически​ 2 + 1).Select:​ макрос для календаря,​ calend = Me.Controls.Add(«MSComCtl2.DTPicker.»​ массива​ календаря.​ листах.​ было проще найти​ актуальными справочными материалами​ на лист ДВОЙНЫМ​Добавлена кнопка «Установить​ масштабируемый.​Me.Top = 250​ что таких календарей​ i = 1​ файл. там описано​: мне тоже очень​ выделил цветом интересующие​ Cancel = True​ чтобы он выпадал​ & i): If​Uchimata​Ольга Вайн​Щелкните ячейку K1, а​ в дальнейшем. Чтобы​ на вашем языке.​ щелчком. Пишите, если​ календарь на сегодня».​Для этого достаточно​Else​ есть…​

​ To 12 .AddItem​​ как пользоваться ими.​

​ интересна эта тема…​​ нас даты в​End Sub​ при нажатии на​ Err = 0​

​:​​: Добрый день.​ затем в появившемся​ быстро найти все​
​ Эта страница переведена​

​ кому-то это понадобится.​​8.​ поменять размер рамки​Me.Left = ThisWorkbook.Sheets(«mySetting»).Range(«A1»).Value​
​вот ещё 4​ Split(FormatDateTime(DateSerial(0, i, 1),​
​Для простоты скопируйте​​Будьте любезны, кто​ списке. Пример таблицы​RAN​ кнопку и заполнял​
​ Then Exit For​​Alex77755​Необходимо написать макрос,​ всплывающем списке выберите​ шаблоны календарей, доступные​

​ автоматически, поэтому ее​​Я –​​Добавлена возможность ручного​​ — все кнопки​
​Me.Top = ThisWorkbook.Sheets(«mySetting»).Range(«A2»).Value​Night Ranger​ vbLongDate))(1) Next jNext​ их в System32​ знает, как подрубить​ проектов на текущий​

​: А чье разрешение​​ значением ячейку.​
​ Next With calend​, не подскажете как​

​ который при выборе​​ нужный календарный год.​ в Office.com или​

​ текст может содержать​​любитель-самоучка​ ввода значений часов,​

CyberForum.ru

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

​ будут создаваться под​​End If​: Я выложил версию​ = jNext +​ винды, тудаже и​ календарь к TextBox???​ месяц в Excel:​ требуется? Наше, или​Заранее спасибо!​ ‘Размеры (Move [Left],​ сделать вызов формы​ конкретной ячейки (например​Когда вы сделаете выбор,​ на компьютере, в​ неточности и грамматические​. Поэтому сразу прошу​ минут и секунд​

​ новый размер .​​’========================================​ получше еще утром,​ .Width + jstart​

​ OCX. Далее по​​если можно поподробнее,​Нам необходимо из целой​ автора календаря?​

​buxrasid​​ [Top], [Width], [Height])​ календарика не кликнув​ В2) выводил на​ автоматически обновляются листы​

​ поле поиска в​​ ошибки. Для нас​

​ прощения за оформление​​ (с фильтрацией введённых​VovaK​’перед закрытием формы​

​ здесь​ End With With​ инструкции.​

planetaexcel.ru

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

​ так как не​​ таблицы выбрать дату​Если наше -​
​: Manika возьми эту​​ .Move twips, twips,​ на ячейку,а скажем​ экран календарь и​ календаря для всех​ коллекции книг Excel​
​ важно, чтобы эта​ моего кода. Да,​ значений).​: Azakia, найдите в​ сохраняем координаты на​датой можно оперировать​ cbYear .Move jNext,​Henior​
​ очень силёнь в​ в Excel на​

​ создайте опрос, не​​ надстройку и пользуйся​​ twips * 5,​​ двойной щелчок?ну либо​ далее при выборе​ месяцев в книге.​ _з0з_введите «​

​ статья была вам​​ я пишу очень​9.​
​ программном коде строку​ листе «mySetting»​ с помощью​ istart, (Width1 -​
​: Всем привет! Как​
​ vbA …​ текущий месяц:​
​ будет ли кто​
​MaNika​ twips oldVal =​
​ кнопку какую еще​ даты убирал данный​
​Примечание:​
​Календарь​
​ полезна. Просим вас​
​ широко. Но иначе​
​Добавлена возможность настройки​
​ DateForm.Show и допишите​
​Private Sub UserForm_QueryClose(Cancel​
​ThisDate​ jstart * 2)​ в MS Excel​
​Заранее благодарен!​Выделите диапазон ячеек B2:B11​ возражать против изменения​
​: buxrasid,​
​ .Value 'Запомнить текущее​
​ нажать,просто когда выделяю​

​ календарь с экрана.​​ Чтобы изменить доступные годы​».​ уделить пару секунд​ я сам потом​ внешнего вида основных​ 0 через пробел​ As Integer, CloseMode​, там-же я скинул​

​ 2, lb.Height​​ сделать выпадающий календарь​iam2005​

​ и выберите инструмент:​​ вами календаря из​
​Я бы с​

​ значение End With​​ ячейки вместе с​:D
​На данный момент​ в этом списке,​Вы можете легко применить​
​ и сообщить, помогла​ не могу прочитать​ элементов календаря без​

​ справа от этой​​ As Integer)​

​ файл с примером,​​ For i =​ при выборе ячейки​: Стандартный OCX(точнее что​ «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Создать правило».​ этой темы.​ удовольствием, если бы​ End Sub Private​ нужной строкой,открывается календарь)​ я вывела на​ измените данные в​ свой внешний взгляд​ ли она вам,​ даже свои макросы.​
​ изменения кода макроса.​ записи.​ThisWorkbook.Sheets(«mySetting»).Range(«A1»).Value = Me.Left​ а для кого​

​ Year(ThisDate) — 100​​ мышкой?​ с оффисом идет)​Снова выбираем: «Использовать формулу​Pelena​ знала как указать​ Sub UserForm_MouseMove(ByVal Button​ нельзя ли этого​ экран календарь, который​

​ окне списка подСтановки.​​ к календарю. Шаблоны​ с помощью кнопок​hands

​Проводить полное тестирование​​10.​DateForm — это​ThisWorkbook.Sheets(«mySetting»).Range(«A2»).Value = Me.Top​ я старался?:​ To Year(ThisDate) +​
​ac1-caesar​ устанавливается при установке​ для определения форматируемых​:​ ей куда вписываться​

​ As Integer, ByVal​​ избежать как то?​ «висит» всегда (не​Щелкните любую ячейку в​ календарей отформатированы с​ внизу страницы. Для​ календаря у меня​

​Перенесены макросы запуска​​ имя UserForm.​

​End Sub​​ac1-caesar,​

​ 100 .AddItem CStr(i)​​:​ Оффиса на комп.​ ячеек».​Постовой​
​ и по какому​ Shift As Integer,​Alex77755​ убирается).​ календаре, например первую​ помощью тем, которые​ удобства также приводим​
​ нет сейчас возможности.​ календаря и вставки​lazy​

​Цитата​​для тебя! (ну​ Next End With​Alex77755​ Но мне нравится​В поле ввода введите​
​, сколько можно постить​ условию появляться и​ ByVal X As​: Ставь вызов календаря​:D​И при выборе​
​ доступную ячейку, в​ позволяют применять к​ ссылку на оригинал​
​Приму любые замечания​ даты на лист.​: здравствуйте​котов, 06.03.2016 в​ и для себя​

​ With fr .Move​​, в этом календаре​ больше DTPicker который​ формулу: =МЕСЯЦ(B2)=МЕСЯЦ($C$2) и​ в чужих темах?​ пропадать…​ Single, ByVal Y​
​ в нужное тебе​ даты на календаре​

​ которой отображается надпись​​ книге шрифты, цвета​
​ (на английском языке).​ и пожелания.​11.​вставил этот макрос​ 06:19, в сообщении​ тоже, скоро он​ jstart, iNext, maxWidth,​ от​ находится в Библе​ нажмите на кнопку​ Вам предупредительного бана​

​(((​​ As Single) With​​ событие и пробуй​
​ она устанавливается в​ «пример текста», и​
​ и эффекты форматирования​В Excel имеются шаблоны​В меру своих знаний​Изменено направление прокрутки​%)​ в свой файл,​ № 122200?’200px’:»+(this.scrollHeight+5)+’px’);»>А засорять​ мне понадобиться)​ twip * (cc​
​Night Ranger​ MSCOMCT2.OCX которую необходимо​ «Формат», чтобы задать​ мало? Или Вы​Pelena​
​ calend If oldVal​ варианты​ любую активную ячейку.​ добавьте собственные данные.​ рисунка, выполнив только​ календарей, установленные на​ готов помочь в​:o
​ месяцев.​​ при использование появился​​ реестр не стоит​ac1-caesar​hands

​ + 1) .Enabled​​нет DatePcker. И​ отдельно устанавливать. Он​ желаемый цвет заливки​ нарочно это делаете?​
​:​ <> .Value Then​
​Private Sub Worksheet_BeforeDoubleClick(ByVal​Private Sub Calendar1_Click()​Примечание:​
​ щелчок мышью. На​​ компьютере. В коллекции​ работе над таким​12.​
​ вопрос, как можно​ а реестр, -​:​ = 0 .SpecialEffect​ сделан не плохо.​ идет с VB6​ для ячеек. Например,​
​ И чего добиваетесь?​MaNika​
​ ‘Если у формы​​ Target As Range,​ ActiveCell = Calendar1.Value​ При изменении года, содержащего​ вкладке​ книг Excel можно​
​ нужным проектом​​Исправлены ошибки, возникающие​ сделать так чтобы​ не «святая икона»​
​Night Ranger​​ = 0 End​’————————————————————————————— ‘ Решение​finnsky​ зеленый. Нажмите ОК​Допустим поставки товаров от​, может здесь найдете​ возникло событие MouseMove​ Cancel As Boolean)​ End Sub Private​
​ пользовательские данные, настраиваемые​​Главная​ просмотреть эти шаблоны​.​
​ при не корректном​​ при нажатие на​ для этого и​
​, да спасибо!​ With For i​ : Календарь ‘​: Да… и в​
​ на всех открытых​ поставщика 1 раз​ варианты:​ и дата поменялась​ ‘ Cancel =​ Sub UseForm_Activate() Me.Calendar1.Value​ данные, существовавшие в​в группе​ и создать новый​
​Рекламные ссылки удалены​​ ручном вводе значения​ объединённую ячейку (​
​ существует, собственно.​​Вот можно же​ = 0 To​ Дата и время​ том и другом​ окнах.​
​ в неделю. Банковские​​http://www.excelworld.ru/forum/3-612-6999-16-1310554335​ ‘это означает что​ True ‘если закомментировать​ = Date End​

​ календаре, не изменяют​​темы​ документ на основе​Размер файла с​
​ года.​​ в прописанном диапазоне​Skif-F​
​ сделать красивый и​​ cc: For j​ : 14 января​ случаее необходимо сначала​В результате визуально отчетливо​
​ транзакции взаиморасчетов с​​http://www.excelworld.ru/forum/2-3116-33638-16-1356274094​ был клик по​ будет активироваться ячейка​ Sub Sub ShowIt()​ положение ячейки при​выберите из десятков​ одного из них.​
​ календарём получился больше​​13.​ макроса) левой кнопкой​: Не понял, покажите​ для всех версий​ = 0 To​ 2015 01:15 ‘​ выбрать элемент из​
​ видно дни текущего​​ поставщиком товаров производятся​buxrasid​ дате MsgBox «Новая​ slancalendar.Show End Sub​ UseForm1.Show End SubЧто​
​ изменении дат.​ встроенных тем, доступных​Windows Mac Интернет​ 100 Kb, поэтому​
​Исправлена ошибка `-2147467259​ мыши календарик тоже​ картинку​ excel удобный календарь,​ cc Set tt(j,​ Автор : Night​ списка установленных на​ месяца:​
​ регулярно каждый вторник.​: Manika если зделаешь​ дата: » &​ Private Sub Worksheet_BeforeRightClick(ByVal​
​ необходимо исправить?​Сохраните книгу.​ в галерее темы,​ ​
​ к сообщению он​ (80004005)`, возникающая при​
​ выскакивал.​котов​ что мелкософтовцы так​
​ i) = fr.Controls.Add(«Forms.ToggleButton.1»,​ Ranger ‘ Яндекс.Деньги​ Вашем компе OCX.​В представленной формуле для​ Необходимо быстро проверить​
​ как написано в​ .Value oldVal =​ Target As Range,​
​SanShiney​Создавать письма в Интернете​ или найдите параметры,​Вы можете загружать шаблоны​ не прикрепился​ движении указателя мыши​
​George87​: фото al-Ex,​ избегают его?​
​ «tt» & i​ — 410012757639478 ‘​
​ Затем поместить на​​ условного форматирования главную​ в какие дни​
​ текстовом файле выложенный​ .Value End If​ Cancel As Boolean)​: Может через «IF»​ можно быстро и​ чтобы изменить только​ календарей с полезными​Вот ссылка на​
​ по числам месяца,​:​
​Skif-F,​Sasha_Smirnov​​ & j) With​​ [email][email protected][/email] ‘ [url]http://www.cyberforum.ru/vba/[/url]​
​ форму. Далее отслеживать​ роль играет функция​ дата поставки товара​ мною то при​ End With End​
​ Cancel = True​ написать, что если​ легко.​ шрифты темы или​
​ и творческими темами​ Yandex.диск:​ если курсор остался​Здравствуйте!​Skif-F​: Так закажите!​ tt(j, i) .Move​
​ ‘ Описание :​​ события этих элементов.​​ =МЕСЯЦ(), которая определяет​ совпадает с датой​ клике правой мышки​ Sub​ ‘если закомментировать будет​IF ActiveCell.Cell =​Выберите один из наших​ цвета темы.​
​ при выборе команды​Версия календаря (ноябрь​ в поле ввода​
​Понадобился календарь для​: Никогда!!!!​
​«А мужики-то не​ j * twip​ Этот пример наглядно​ и присваивать текстбоксу​​ номер месяца исходной​B)
​ взаиморасчетов. Это позволит​
​ первая строка будет​Alex77755​ появляться контекстное меню​ «B2» THEN​ шаблонов календарей и​:(
​Важно:​файл​
​ 2016 г.)​ значения года.​

excelworld.ru

​ проекта.​

Содержание

    • 0.1 P.S.
    • 0.2 Ссылки по теме
  • 1 Добавить «Всплывающий календарь» в Excel 2016, 2013, 2010, 2007
  • 2 Как работать с надстройкой:
  • 3 Как задать формат даты в Excel 2007/2010?
  • 4 Как задать свой собственный формат даты? Как преобразовать дату в год, месяц либо день недели?
  • 5 Как установить систему дат 1904?
  • 6 Как вводить дату в ячейку?
  • 7 Как в Excel вводить даты при помощи надстройки?
  • 8 Как вставить в ячейку статическую, фиксированную, не обновляемую дату?
  • 9 Как вставить в ячейку текущую автоматически обновляемую дату?
    • 9.1 Другие материалы по теме:
    • 9.2 Интерактивный календарь в Excel
    • 9.3 Создаем таблицу с событиями
    • 9.4 Настраиваем календарь
    • 9.5 Задаем имя диапазону дат в календаре
    • 9.6 Определяем ячейку с выделенной датой
    • 9.7 Добавляем макрос на событие Worksheet_selectionchange()
    • 9.8 Настраиваем формулы для отображения деталей при выборе даты
    • 9.9 Добавление анонса
    • 9.10 Настраиваем условное форматирование для выделенной даты
    • 9.11 Форматируем

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

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

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

как сделать выпадающий календарь в ячейке excel Windows Date Picker
Автор: Ron de Bruin
Цена: бесплатно
Ссылка

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

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

  • Работает только в Excel 2013, добавляется через магазин приложений Office App Store на вкладке Вставка — Приложения для Office (Insert — Office Apps Store)
  • Вставляется на лист как постоянный графический объект и добавляет выбранную дату в любую выделенную предварительно ячейку. 
  • Умеет менять стандарты недели, отображать номера недель, вводить не только дату, но и время. 
  • Есть возможность задавать темы оформления. 
  • Нет кнопки перехода к текущему дню.
как сделать выпадающий календарь в ячейке excel 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 введённое значение как дату и отобразит ли её в нужном формате? Именно в этих случаях пригодится всплывающий, или выпадающий, календарь. Он незаменим для работы с личными и рабочими списками дел, расписаниями и планами, графиками выполнения проектов и финансовыми отчётами в Excel.

«Всплывающий календарь» — это надёжный и проверенный инструмент выбора дат, которому доверяют 30 000+ пользователей Excel:

  • Интуитивен в использовании: выберите ячейки — вставьте дату
  • Выпадает рядом с ячейкой, отображает номера недель, дни недели, текущую дату
  • Заполняет датами столбцы, строки и любые диапазоны в секунды
  • Множество вариантов формата даты по умолчанию
  • Работает в 64- и 32-разрядных версиях Excel

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

Добавить «Всплывающий календарь» в Excel 2016, 2013, 2010, 2007

Подходит для: Microsoft Excel 2016 – 2007, desktop Office 365 (32-бит и 64-бит).

Скачать надстройку XLTools

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

Как работать с надстройкой:

  • Как вставить или изменить дату в ячейке с помощью «Всплывающего календаря»
  • Как из календаря вставить текущую дату в ячейку
  • Как заполнить датами целый столбец, строку или несмежные диапазоны
  • Как заполнить диапазон последовательными датами
  • Как вставить сразу и дату и время в ячейку
  • Как вставить только время (без даты) в ячейку
  • Как изменить формат даты по умолчанию для «Всплывающего календаря»
  • Как изменить комбинацию горячих клавиш для «Всплывающего календаря»
  • Как добавить/удалить иконку «Всплывающего календаря»
  • Как добавить/удалить «Всплывающий календарь» из контекстного меню
  • Как встроить всплывающий календарь в книгу Excel

Внимание: отмена последнего действия (UNDO) невозможна. Рекомендуем сохранять резервную копию файлов или использовать «Контроль версий» XLTools для отслеживания изменений.

Как вставить или изменить дату в ячейке с помощью «Всплывающего календаря»

  1. Выберите ячейку.
  2. В группе Дата/Время нажмите на кнопку «Вставить дату» > Календарь всплывёт рядом с ячейкой.
    Или: по правому клику мыши выберите пункт «Вставить дату».
    Или: используйте сочетание клавиш Ctrl+; (точка с запятой на английской раскладке).
  3. Выберите нужную дату из календаря > Готово.
    Обратите внимание на формат: это то, что вам нужно? Вы можете изменить формат даты по умолчанию.
  4. Чтобы изменить значение даты, нажмите на иконку календаря справа от ячейки > Измените дату.

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

Внимание: после ввода даты, ячейке автоматически присваивается формат Число/Дата. Если вы позднее удалите значение из ячейки, сама ячейка сохранит свой формат Дата, а иконка календаря для этой пустой ячейки останется доступной. Чтобы убрать иконку, измените формат ячейки на Общий.

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

Как из календаря вставить текущую дату в ячейку

  1. Выберите ячейку, в которую нужно вставить текущую дату.
  2. В группе Дата/Время нажмите на кнопку «Вставить дату» > Календарь появится рядом с ячейкой.
    Или: по правому клику мыши выберите пункт «Вставить дату».
    Или: используйте сочетание клавиш Ctrl+; (точка с запятой на английской раскладке).
  3. Нажмите по надписи «Сегодня» в нижней части календаря > Готово.

Как заполнить датами целый столбец, строку или несмежные диапазоны

С помощью «Всплывающего календаря» вы можете заполнить значениями дат целый диапазон (ограничение до 4000 ячеек). Даты можно вставить в столбцы таблицы, строки, объединённые ячейки или любой произвольный диапазон точно так же, как одну ячейку: 

  1. Выберите диапазон.
  2. В группе Дата/Время нажмите на кнопку «Вставить дату» > Появится всплывающий календарь.
    Или: по правому клику мыши выберите пункт «Вставить дату».
    Или: используйте сочетание клавиш Ctrl+; (точка с запятой на английской раскладке).
  3. Выберите дату > Готово. Весь диапазон заполнен значением выбранной даты.
    Совет: узнайте, как заполнить ячейки последовательными датами.
  4. Чтобы изменить значение даты, нажмите на иконку календаря справа от ячейки > Измените дату.

Внимание: после ввода даты, ячейкам автоматически присваивается формат Число/Дата. Если вы позднее удалите значения из ячеек, сами ячейки сохранят свой формат Дата, а иконка календаря для этих пустых ячеек останется доступной. Чтобы убрать иконку, измените формат ячеек на Общий.

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

Как заполнить диапазон последовательными датами

С надстройкой «Всплывающий календарь» вы можете быстро заполнить диапазон последовательными датами (дни по порядку):

  1. Вкладка XLTools > Кнопка «Настройки» > Вкладка Дата/Время > Отметьте флажком «Включить автоувеличение дат при заполнении диапазона ячеек» > OK.
  2. Выберите диапазон.
  3. В группе Дата/Время нажмите на кнопку «Вставить дату» > Всплывающий календарь появятся рядом с ячейкой.
    Или: по правому клику мыши выберите пункт «Вставить дату».
    Или: используйте сочетание клавиш Ctrl+; (точка с запятой на английской раскладке).
  4. Выберите начальную дату > Готово, весь диапазон будет автоматически заполнен последовательными значениями дат с шагом в 1 день.

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

Как вставить сразу и дату и время в ячейку

  1. Выберите ячейку.
  2. В группе Дата/Время нажмите на кнопку «Вставить дату и время» > Всплывающий календарь с часами появятся рядом с ячейкой.
    Или: по правому клику мыши выберите пункт «Вставить дату и время».
    Или: используйте сочетание клавиш: нажмите Ctrl+; (точка с запятой на английской раскладке), затем отпустите клавиши и нажмите Ctrl+Shift+; (точка с запятой на английской раскладке).
  3. Установите время при помощи колеса прокрутки мыши или стрелок Вверх/Вниз > Выберите дату из всплывающего календаря > Готово.
    Обратите внимание на формат: это то, что вам нужно? Вы можете задать другой формат по умолчанию для Всплывающего Календаря и Часов.
  4. Чтобы изменить значение, нажмите на иконку справа от ячейки > Измените дату и время.

Внимание: после ввода даты и времени, ячейке автоматически присваивается формат Число/Дата. Если вы позднее удалите значение из ячейки, сама ячейка сохранит свой формат Дата, а иконка календаря с часами для этой пустой ячейки останется доступной. Чтобы убрать иконку, измените формат ячейки на Общий.

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

Как вставить только время (без даты) в ячейку

Используйте надстройку «Всплывающие часы» для установки и вставки времени в ячейки и диапазоны:

  1. Выберите ячейку или диапазон.
  2. В группе Дата/Время нажмите на кнопку «Вставить время» > Всплывающие часы появятся рядом с ячейкой.
    Или: по правому клику мыши выберите пункт «Вставить время».
    Или: используйте сочетание клавиш Ctrl+Shift+; (точка с запятой на английской раскладке).
  3. Установите время при помощи колеса прокрутки мыши или стрелок Вверх/Вниз > Нажмите Ввод (Enter) > Готово.

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

Как изменить формат даты по умолчанию для «Всплывающего календаря»

Чтобы изменить формат, заданный по умолчанию для «Всплывающего Календаря»:

  1. Нажмите кнопку «Настройки» на панели XLTools > Вкладка Дата/Время.
  2. Отметьте флажком «По умолчанию использовать формат даты и времени, установленный ниже».
    Внимание: при снятии флажка Всплывающий календарь будет использовать формат, установленный в ваших системных настройках.
  3. Выберите подходящий формат, напр., принятый в вашей стране или на вашем языке.
    Или: задайте «Свой формат».
  4. Нажмите OK > Готово.

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

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

  1. Выберите ячейки > По правому клику мыши выберите «Формат ячеек».
  2. Вкладка «Число» > Формат «Дата» > Установите нужный формат даты.

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

  1. Панель управления > Часы, язык и регион > Изменение форматов даты.
  2. Вкладка Форматы > Установите форматы дат и времени, первого дня недели.
  3. Вкладка Местоположение > Укажите страну местонахождения.
  4. Вкладка Дополнительно > Измените язык системы > Перезагрузите компьютер.

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

Вкладка XLTools > Кнопка «Настройки» > Вкладка «Горячие клавиши» > Задайте другое сочетание > OK.

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

Как добавить/удалить иконку «Всплывающего календаря»

Пиктограмма (иконка) календаря появляется справа от выбранной ячейки, если для ячейки задан формат Дата. Нажатие на иконку открывает инструмент выбора даты.

  • Чтобы отключить отображение иконки Календаря:
  1. Нажмите кнопку «Настройки» на панели XLTools > Вкладка Дата/Время.
  2. Снимите флажок с опции «Отображать пиктограммы Всплывающего Календаря и Часов» > OK.
  3. Готово! Пиктограммы перестанут отображаться, Календарь и Часы будут по-прежнему доступны для использования. Иконки можно вернуть в любое время.

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

  • Чтобы настроить появление иконки рядом с пустыми ячейками, столбцами, строками или произвольным диапазоном:
  1. Выберите пустую ячейку или диапазон.
  2. Вкладка «Главная» > Группа «Число» > Дата > OK. Так, ячейкам будет присвоен формат даты.
    Или: вставьте любую дату с помощью «Всплывающего календаря» > Нажмите кнопку Delete. Это удалит непосредственно значения, и присвоит выбранным ячейкам формат даты.
  3. Готово! Теперь, если вы выберите какую-либо ячейку в этом диапазоне, рядом с ней появится иконка Календаря.
  • Чтобы убрать иконку Календаря с пустых ячеек:
    Если ячейка пуста, но иконка по-прежнему появляется, значит, что ячейке присвоен формат даты или времени. Чтобы убрать иконку с пустых ячеек, измените их формат на Общий:
  1. Выберите пустую ячейку или диапазон.
  2. Вкладка «Главная» > Группа «Редактирование» > Очистить форматы.
    Или: вкладка «Главная» > Группа «Число» > Выберите «Общий» из выпадающего списка.
    Или: по правому клику «Формат ячеек» > Вкладка «Число» > Выберите формат «Общий» > OK.
  1. Нажмите кнопку «Настройки» на панели XLTools > Вкладка Дата/Время.
  2. Установите или снимите флажки соответствующих опций:
    • «Добавить пункт «Вставить дату» в контекстное меню»
    • «Добавить пункт «Вставить время» в контекстное меню»
    • «Добавить пункт «Вставить дату и время» в контекстное меню»
  3. Нажмите OK > Готово.

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

Как встроить всплывающий календарь в книгу Excel

Надстройка XLTools «Всплывающий календарь» не может быть встроена в книгу. «Всплывающий календарь» будет видим и доступен только тем пользователям, у кого установлена надстройка XLTools.

Если вам нужно отправить книгу другим пользователям, попробуйте наш встраиваемый календарь — онлайн надстройка XLTools.net Календарь. Установка на компьютер не требуется: отправьте файл коллегам, и они тоже смогут воспользоваться календарём. Это веб-приложение удобно для рассылки расписаний, графиков, планов, т.д.

Появились вопросы или предложения? Оставьте комментарий ниже.

Для гарантии правильности ввода дат пользователями элемент управления 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.

1 2 3 4 5 6 7 8 
//Листинг 7.14 Private Sub Calendar1_Click() ActiveCell = Calendar1.Value End Sub   Private Sub UserForm_Activate()     Me.Calendar1.Value = Date End Sub

//Листинг 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

— М – для отображения месяцев в виде числа от 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. Пример такой надстройки – календарь samradDatePicker. Скажем спасибо создателям этой надстройки и тем, кто доработал ее и перевел на русский язык! Надстройка упрощает ввод дат в ячейки листа Excel. После установки этой надстройки в контекстное меню (щелчок правой кнопки мыши) добавляется новый пункт «Выбрать из календаря», а при выделении ячеек, содержащих дату, справа от ячейки отображается значок календаря.

бесплатно скачать надстройку samradDatePicker для быстрого ввода дат

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

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

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

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

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

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

Другие материалы по теме:

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

Я нашел этот пример на сайте Chandoo.org и делюсь им с вами.

Интерактивный календарь в Excel

На выходе у нас должно получиться что-то вроде этого:

Создаем таблицу с событиями

На листе Расчеты создаем таблицу со всеми событиями

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

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

Задаем имя диапазону дат в календаре

Это просто, выделяем весь диапазон дат нашего календаря и в поле Имя задаем «Календарь»

Определяем ячейку с выделенной датой

На листе Расчеты выбираем пустую ячейку и задаем ей имя «ВыделеннаяЯчейка». Мы будем использовать ее для определения даты, которую выбрал пользователь. В нашем случае, это ячейка G3.

Добавляем макрос на событие Worksheet_selectionchange()

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

1
2
3
4
5

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range(«calendar»)) Is Nothing Then
= ActiveCell.Value
End If
End Sub

Настраиваем формулы для отображения деталей при выборе даты

Изменение даты на календаре ведет за собой изменение 4-х параметров отображения в анонсе: название, дата, место и описание. Зная, что дата находится в ячейке «ВыделеннаяЯчейка», воспользуемся формулами ВПР, ЕСЛИ и ЕСЛИОШИБКА для определения этих параметров. Логика формул следующая: если на выбранную дату существует событие, возвращает данные этого события, иначе возвращает пустую ячейку. Формулы с определением параметров события находятся на листе Расчеты, в ячейках G10:G13.

Добавление анонса

Наконец добавляем в лист Календарь 4 элемента Надпись и привязываем их к данным, находящихся в ячейках G10:G13 листа Расчеты.

Совет: для того, чтобы привязать значение ячейки к элементу Надпись, просто выделите элемент, в строке формул наберите G10 и щелкните Enter.

Настраиваем условное форматирование для выделенной даты

Наконец, добавьте условное форматирование, чтобы выделить даты с событиями в календаре.

Выберите диапазон дат в календаре

Переходим на вкладке Главная в группу Стили –> Условное форматирование –> Создать правило

В диалоговом окне Создание правила форматирования, выберите тип правила Использовать формулу для определения форматируемых ячеек.

Задаем правила выделения как на рисунке

Форматируем

Подчищаем рабочий лист, форматируем наш календарь и получаем классную визуализацию.

Пример рабочей книги с интерактивным календарем.

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