Всплывающий календарь
Если вам часто приходится вводить даты в ячейки листа, то делать это вручную неудобно. Для ввода именно сегодняшней даты можно воспользоваться функцией СЕГОДНЯ (TODAY), сочетанием клавиш Ctrl+; или макросом, но если нужны разные даты из прошлого или будущего, то вбивать их руками долго.
К сожалению, в стандартном арсенале средств Excel нет встроенного выпадающего календаря (в отличие от Word), да еще и в последних версиях, начиная с Excel 2007, Microsoft зачем-то убрала из стандартного комплекта поставки библиотеку mscalc.osx, которая позволяла быстро создать пользовательскую форму с календарем.
Естественно, это «узкое место» не осталось без внимания опытных пользователей и экспертов Excel MVP, которые оперативно создали несколько интерактивных календарей на макросах для удобного ввода дат. Вот подборка неплохих, на мой взгляд, бесплатных вариантов:
Windows Date Picker Автор: Ron de Bruin Цена: бесплатно Ссылка
|
|
Excel Date Picker Автор: Jim Cone Цена: бесплатно Ссылка
|
|
Mini Calendar and Date Picker Автор: VERTEX Цена: бесплатно. Ссылка в Office Apps Store
|
|
Date Picker Автор: Sam Radakovitz, руководитель команды программистов Excel в Microsoft Цена: бесплатно Сайт автора умер, ссылки не работают, но можно скачать заботливо сохраненную мной когда-то копию здесь.
|
P.S.
Установка надстроек:
- в Excel 2003 и старше — меню Сервис — Надстройки — Обзор (Tools — Add-ins — Browse)
- в Excel 2007 и новее — Файл — Параметры — Надстройки — Перейти — Обзор (File — Options — Add-ins — Go To — Browse)
Ссылки по теме
- Всплывающий календарь из надстройки PLEX
- Автоматический ввод даты при изменении ячейки
Выпадающий календарь в 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 функции МЕСЯЦ – в день поставкиMaNikaNight Ranger
ввод даты (автоподстановки, ячейку, и в для редактирования в в строках даты,Примечание:
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, поставьте TextBoxHugo121
как то так. а третьи — для Эти формулы обеспечиваютMicrosoft OfficeКак сделать выпадающие число месяца. сторонних производителей.: Добавил ввод времени.
Olga-22 .Caption = «Сегодня» Const jstart = 10.0… а дальше C. После функции выделить все даты автоматически выскакивающий календарик
-
и всё: Ещё можно посчитатьSanShiney работы в PowerPoint автоматическое обновление календаря._з0з_, а затем — списки, смотрите в
-
15.К сожалению, поVovaK: Хочу сделать в
.Move jstart, iNext 5, istart =
- все как описано стоит оператор сравнения
- предполагаемых поставок, припадающие
- Сижу вот ковыряюсь
-
Позже выложу решение, количество выделенных ячеек: Не хотел умничать, Online). Если вручную изменить
-
создать статье «Выпадающий списокДля исключения ошибок образованию я –: Нашел неприятную недоработку. ячейке Excel 2007
-
+ fr.Height + 5 Const twip выше. с номером текущего
на вторник.buxrasid но только оно — если >1, просто я понимаю,Совет: данные в этих. в Excel». в макросе допустимый не программист. Опыт При изменении года выпадающий календарь для istart, lb.Width, lb.Height = 18, cciam2005 месяца. Там ужеДля решения выше описанной: попробуйте будет не настолько то календарь не
что это возмонжо, Если вы уже открыли ячейках, календарь большеВыберитеСначала сделаем на диапазон годов был 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 отмечаем (устанавливаем оператора сравнения совпадают,
-
в Excel для но можно ли датой: В проложении файл и скрывается форма
-
, чтобы перейти к ячейках, в томизображением увеличительного стекла числа с 1 работает только с Таким образом, самостоятельное
-
фокусируются SpinButtons подбора «additional controls», но Integer, ByVal Shift MSForms.Frame Dim WithEvents
галочку) на компоненте тогда формула возвращает вторников и выделим немного его извратитьи получать ответ
-
с надстройкой календаря. календаря. шаблонам календарей, и числе в ячейках,_з0з_.
до 31. Во датами после 01.01.1900. его создание было
времени. По сути там отсутствует «элемент As Integer, ByVal tb As MSForms.ToggleButton ‘Элемент управления Календарь’
-
значение ИСТИНА и
Создание календаря на несколько листов ежемесячно
цветом эти ячейки. с учетом некоторых связанный с этимиКидай в ЭксельСтартС/У под изображениями шаблонов которые отображаются пустыми.Щелкните интересующий вас шаблон втором столбце напишемБолее ранние даты для меня грандиозной(!!!) надо принудительно переводить
-
управления календарь». Подскажите X As Single, Dim WithEvents cbMonthfinnsky к текущей ячейке
-
Автоматическое выделения цветом потребностей: новостями — и наСанж щелкните ссылку
-
Эти формулы обеспечивают и нажмите кнопку название месяцев. В
воспринимаются только как задачей. фокус на ComboBox пожалуйста, что сделать,
-
ByVal Y As As MSForms.ComboBox Dim: Всеравно не пойму… присваивается пользовательский формат
календарных дат:1) Привязать егоAlex77755 любой ячейке с
SanjaЕще на Office.com автоматическое обновление календаря.создать третьем столбце напишем
-
текстовые строки илиПоэтому выбора месяца. Выглядит для того, чтобы Single) On Error WithEvents cbYear As
У меня есть (заливка зеленым цветом).Выделите диапазон ячеек B2:B10 не к кнопке: В принципе можно форматом дата -: В модуль нужного
-
.
Если вручную изменить. года в порядке
как даты послеВЫРАЖАЮ ОГРОМНУЮ БЛАГОДАРНОСТЬ это очень непрезентабельно. в «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» листа 2, форме) и вызывать: On Error GoTo
-
категорий выберитеВ меню используете? 1950 по 2050. воспринято как 01.01.2001).
-
: На форуме заметил пишите…: Импортируйте календарь из 2, (Y - As Boolean Private
-
пытаюсь разобраться с лет:Чтобы выбрать дни вторников
-
то есть при так же по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 Subfinnsky=И() – данное имя дату. Ссылка относительная они отображаются в
и так-же связать календарь?
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Совет:
Когда вы сделаете выбор,
и эффекты форматирования списки через функцию
недели и чисел лист: одиночным или: Azakia, прочитайте весьal-Ex, 19.01.2016 в даты и тд Sub Private SubMicrosoft 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 с помощью условного не указать второй через любой другой
- Запоминать откуда вызвали.Alex77755 элементах (автор Слэн).
- на него.Сохраните книгу.
- встроенных тем, доступныхбез макросов.16.Добавлены всплывающие подсказкиLanalina какой-то книге - Month(ThisDate), j)) <> twip * (ccPrivate 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 столбца «С» листа одной формы с гораздо, гораздо проще будет вставлена дата.. что очень удобно
шрифты темы или поуже, по размеру при клике по не текущими месяцами
- постам нашел за добавить скрытый лист). j For i
- iNext = istart выглядит код:[TUES]ZandR
- (понедельник) и т.д. 1 я должен календарём ! Для вставки датыВ разделе для личного планирования цвета темы. чисел, названию месяца.
числам не текущего являются декабрь или глобальную переменную -
А засорять реестр = 1 To jNext = jstartForms:: Помогите кто-нибудь !Дальше идет оператор сравнения получить разницу вДобавлено через 1 минуту’————————————————————————————— ‘ Пример в любую активнуюОбщий доступ или для обращенияВажно:В списке месяцев месяца месяц менялся январь, во всплывающие получилось! не стоит cc: For j ThisDate = Datecalend (форма календаря):Как сделать, чтобы с числом 2. часах, так какСовсем забыл про : Календарь ‘
ячейку используйте кнопку.щелкните элемент к датам в Формулы существуют во всех можно название месяцев
на соответствующий так подсказки добавляется соответствующийсделал для одногокотов = 0 To Me.Caption = «Календарь»Dim Mycmd As
при нажатии кнопки
Если возвращаемое число оплату считает бухгалтер этот способ. А Дата и времяПавел Запивахин
- Получить ссылку течение любого года. ячейках, которые содержат написать в падеже же, как и год. текстбокса а вот
- : cc v = Set fr = Control Dim CommandButton1 выходил календарь и функцией = 2 по часам.
в примерах валаятся : 13 января: Понял, исправлюсь.. Вы можете добавить дату, а также
– января, февраля. при смене месяца5.
exceltable.com
Выбор даты в календаре
про юсерформ 0Skif-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 EndZandR Ячейке «С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 Asfinnsky в текущем месяце. As Range, Cancel примеров и пр. Date Private SubAlex77755 блога.Дважды щелкните шаблон шаблоны помещаются во формулой. Смотрите статью вставляет дату на календаре. Однако такая лишних наворотов и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 ThenAlex77755 * 2) помогите…В раре с как его подключить условное форматирование, чтобы = 3) *Мне необходимо написать -1: Err.Clear SetЗаменил 1 процедурой в него представление ежемесячного календаря на месте, чтобы его оперативнее обеспечивать вас при вставке даты7. поэтому — легкоMe.Left = 350: Я же говорю, 2, lb.Height For РегУтилитами есть *txtmentos_has_arisen Excel нам автоматически 2 + 1).Select: макрос для календаря, calend = Me.Controls.Add(«MSComCtl2.DTPicker.» массива календаря. листах. было проще найти актуальными справочными материалами на лист ДВОЙНЫМДобавлена кнопка «Установить масштабируемый.Me.Top = 250 что таких календарей i = 1 файл. там описано: мне тоже очень выделил цветом интересующие Cancel = True чтобы он выпадал & i): IfUchimataОльга ВайнЩелкните ячейку 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 ForAlex77755Необходимо написать макрос, всплывающем списке выберите шаблоны календарей, доступные
автоматически, поэтому ееЯ –Добавлена возможность ручного — все кнопки
Me.Top = ThisWorkbook.Sheets(«mySetting»).Range(«A2»).ValueNight 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 ячейки вместе с
На данный момент в этом списке,Вы можете легко применить
и сообщить, помогла не могу прочитать элементов календаря без
справа от этой 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 нельзя ли этого экран календарь, который
окне списка подСтановки. к календарю. Шаблоны с помощью кнопок
Проводить полное тестирование10.DateForm — этоThisWorkbook.Sheets(«mySetting»).Range(«A2»).Value = Me.Top я старался?: To Year(ThisDate) +
ac1-caesar устанавливается при установке для определения форматируемых: ей куда вписываться
As Integer, ByVal избежать как то? «висит» всегда (неЩелкните любую ячейку в календарей отформатированы с внизу страницы. Для календаря у меня
Перенесены макросы запуска имя UserForm.
End Subac1-caesar,
100 .AddItem CStr(i): Оффиса на комп. ячеек».Постовой
и по какому Shift As Integer,Alex77755 убирается). календаре, например первую помощью тем, которые удобства также приводим
нет сейчас возможности. календаря и вставкиlazy
Цитатадля тебя! (ну Next End WithAlex77755 Но мне нравитсяВ поле ввода введите
, сколько можно постить условию появляться и ByVal X As: Ставь вызов календаряИ при выборе
доступную ячейку, в позволяют применять к ссылку на оригинал
Приму любые замечания даты на лист.: здравствуйтекотов, 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 варианты любую активную ячейку. добавьте собственные данные. рисунка, выполнив только календарей, установленные на готов помочь в
месяцев. при использование появился реестр не стоитac1-caesar
+ 1) .Enabledнет DatePcker. И отдельно устанавливать. Он желаемый цвет заливки нарочно это делаете?
: <> .Value Then
Private Sub Worksheet_BeforeDoubleClick(ByValPrivate 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 Этот пример наглядно и присваивать текстбоксу номер месяца исходной
взаиморасчетов. Это позволит
первая строка будетAlex77755 появляться контекстное меню «B2» THEN шаблонов календарей и
Важно:файл
2016 г.) значения года.
excelworld.ru
проекта.
Надстройка samradDatePicker (русифицированная) для облегчения ввода даты в ячейки листа Excel.
Добавляет в контекстное меня ячеек пункт выбора даты, а при выделении ячеек, содержащих дату, справа от ячейки отображает значок календаря.
Поместите файл надстройки из вложения в папку автозагрузки Excel (C:Program FilesMicrosoft OfficeOFFICExxXLSTART).
В контекстном меню ячеек появляется новый пункт — «Выбрать дату из календаря«.
Рядом с ячейками, в которые уже введена дата, будет отображаться маленький календарик, щелчок по которому вызовет большой календарь — для выбора даты.
Второй прикреплённый к статье файл — та же надстройка, только в которой неделя начинается с понедельника (в оригинале надстройки — с воскресенья)
Пароль на проект VBA — 1 (единица)
PS: Этот макрос написал не я (автор — samrad)
Файл с макросом взят на просторах интернета.
Поскольку макрос делал не я, — доработками его я не занимаюсь, никаких гарантий работы дать не могу, по использованию не консультирую.
Содержание
- 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, которые оперативно создали несколько интерактивных календарей на макросах для удобного ввода дат. Вот подборка неплохих, на мой взгляд, бесплатных вариантов:
Windows Date Picker Автор: Ron de Bruin Цена: бесплатно Ссылка
|
|
Excel Date Picker Автор: Jim Cone Цена: бесплатно Ссылка
|
|
Mini Calendar and Date Picker Автор: VERTEX Цена: бесплатно. Ссылка в Office Apps Store
|
|
Date Picker Автор: Sam Radakovitz, руководитель команды программистов Excel в Microsoft Цена: бесплатно Сайт автора умер, ссылки не работают, но можно скачать заботливо сохраненную мной когда-то копию здесь.
|
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
Внимание: отмена последнего действия (UNDO) невозможна. Рекомендуем сохранять резервную копию файлов или использовать «Контроль версий» XLTools для отслеживания изменений.
Как вставить или изменить дату в ячейке с помощью «Всплывающего календаря»
- Выберите ячейку.
- В группе Дата/Время нажмите на кнопку «Вставить дату» > Календарь всплывёт рядом с ячейкой.
Или: по правому клику мыши выберите пункт «Вставить дату».
Или: используйте сочетание клавиш Ctrl+; (точка с запятой на английской раскладке). - Выберите нужную дату из календаря > Готово.
Обратите внимание на формат: это то, что вам нужно? Вы можете изменить формат даты по умолчанию. - Чтобы изменить значение даты, нажмите на иконку календаря справа от ячейки > Измените дату.
«Всплывающий календарь» запоминает последнюю использованную дату, чтобы вам было проще вводить следующую дату.
Внимание: после ввода даты, ячейке автоматически присваивается формат Число/Дата. Если вы позднее удалите значение из ячейки, сама ячейка сохранит свой формат Дата, а иконка календаря для этой пустой ячейки останется доступной. Чтобы убрать иконку, измените формат ячейки на Общий.
Как из календаря вставить текущую дату в ячейку
- Выберите ячейку, в которую нужно вставить текущую дату.
- В группе Дата/Время нажмите на кнопку «Вставить дату» > Календарь появится рядом с ячейкой.
Или: по правому клику мыши выберите пункт «Вставить дату».
Или: используйте сочетание клавиш Ctrl+; (точка с запятой на английской раскладке). - Нажмите по надписи «Сегодня» в нижней части календаря > Готово.
Как заполнить датами целый столбец, строку или несмежные диапазоны
С помощью «Всплывающего календаря» вы можете заполнить значениями дат целый диапазон (ограничение до 4000 ячеек). Даты можно вставить в столбцы таблицы, строки, объединённые ячейки или любой произвольный диапазон точно так же, как одну ячейку:
- Выберите диапазон.
- В группе Дата/Время нажмите на кнопку «Вставить дату» > Появится всплывающий календарь.
Или: по правому клику мыши выберите пункт «Вставить дату».
Или: используйте сочетание клавиш Ctrl+; (точка с запятой на английской раскладке). - Выберите дату > Готово. Весь диапазон заполнен значением выбранной даты.
Совет: узнайте, как заполнить ячейки последовательными датами. - Чтобы изменить значение даты, нажмите на иконку календаря справа от ячейки > Измените дату.
Внимание: после ввода даты, ячейкам автоматически присваивается формат Число/Дата. Если вы позднее удалите значения из ячеек, сами ячейки сохранят свой формат Дата, а иконка календаря для этих пустых ячеек останется доступной. Чтобы убрать иконку, измените формат ячеек на Общий.
Как заполнить диапазон последовательными датами
С надстройкой «Всплывающий календарь» вы можете быстро заполнить диапазон последовательными датами (дни по порядку):
- Вкладка XLTools > Кнопка «Настройки» > Вкладка Дата/Время > Отметьте флажком «Включить автоувеличение дат при заполнении диапазона ячеек» > OK.
- Выберите диапазон.
- В группе Дата/Время нажмите на кнопку «Вставить дату» > Всплывающий календарь появятся рядом с ячейкой.
Или: по правому клику мыши выберите пункт «Вставить дату».
Или: используйте сочетание клавиш Ctrl+; (точка с запятой на английской раскладке). - Выберите начальную дату > Готово, весь диапазон будет автоматически заполнен последовательными значениями дат с шагом в 1 день.
Как вставить сразу и дату и время в ячейку
- Выберите ячейку.
- В группе Дата/Время нажмите на кнопку «Вставить дату и время» > Всплывающий календарь с часами появятся рядом с ячейкой.
Или: по правому клику мыши выберите пункт «Вставить дату и время».
Или: используйте сочетание клавиш: нажмите Ctrl+; (точка с запятой на английской раскладке), затем отпустите клавиши и нажмите Ctrl+Shift+; (точка с запятой на английской раскладке). - Установите время при помощи колеса прокрутки мыши или стрелок Вверх/Вниз > Выберите дату из всплывающего календаря > Готово.
Обратите внимание на формат: это то, что вам нужно? Вы можете задать другой формат по умолчанию для Всплывающего Календаря и Часов. - Чтобы изменить значение, нажмите на иконку справа от ячейки > Измените дату и время.
Внимание: после ввода даты и времени, ячейке автоматически присваивается формат Число/Дата. Если вы позднее удалите значение из ячейки, сама ячейка сохранит свой формат Дата, а иконка календаря с часами для этой пустой ячейки останется доступной. Чтобы убрать иконку, измените формат ячейки на Общий.
Как вставить только время (без даты) в ячейку
Используйте надстройку «Всплывающие часы» для установки и вставки времени в ячейки и диапазоны:
- Выберите ячейку или диапазон.
- В группе Дата/Время нажмите на кнопку «Вставить время» > Всплывающие часы появятся рядом с ячейкой.
Или: по правому клику мыши выберите пункт «Вставить время».
Или: используйте сочетание клавиш Ctrl+Shift+; (точка с запятой на английской раскладке). - Установите время при помощи колеса прокрутки мыши или стрелок Вверх/Вниз > Нажмите Ввод (Enter) > Готово.
Как изменить формат даты по умолчанию для «Всплывающего календаря»
Чтобы изменить формат, заданный по умолчанию для «Всплывающего Календаря»:
- Нажмите кнопку «Настройки» на панели XLTools > Вкладка Дата/Время.
- Отметьте флажком «По умолчанию использовать формат даты и времени, установленный ниже».
Внимание: при снятии флажка Всплывающий календарь будет использовать формат, установленный в ваших системных настройках. - Выберите подходящий формат, напр., принятый в вашей стране или на вашем языке.
Или: задайте «Свой формат». - Нажмите OK > Готово.
Вы можете обнаружить, что некоторые ячейки не подчиняются заданному формату Календаря. Это означает, что ячейкам ранее был присвоен другой формат даты. В этом случае, измените формат ячеек:
- Выберите ячейки > По правому клику мыши выберите «Формат ячеек».
- Вкладка «Число» > Формат «Дата» > Установите нужный формат даты.
Изначально Всплывающий календарь использует ваши системные настройки формата даты и времени по умолчанию. Вы можете полностью изменить настройки системы. Обратите внимание, это поменяет настройки всех учётных записей на компьютере:
- Панель управления > Часы, язык и регион > Изменение форматов даты.
- Вкладка Форматы > Установите форматы дат и времени, первого дня недели.
- Вкладка Местоположение > Укажите страну местонахождения.
- Вкладка Дополнительно > Измените язык системы > Перезагрузите компьютер.
Для вашего удобства, для «Всплывающего календаря» по умолчанию задано сочетание клавиш Ctrl+; (точка с запятой на английской раскладке) – это та же комбинация, которая используется в Excel для вставки текущей даты. Вы можете изменить горячие клавиши для «Всплывающих часов» в любое время:
Вкладка XLTools > Кнопка «Настройки» > Вкладка «Горячие клавиши» > Задайте другое сочетание > OK.
Как добавить/удалить иконку «Всплывающего календаря»
Пиктограмма (иконка) календаря появляется справа от выбранной ячейки, если для ячейки задан формат Дата. Нажатие на иконку открывает инструмент выбора даты.
- Чтобы отключить отображение иконки Календаря:
- Нажмите кнопку «Настройки» на панели XLTools > Вкладка Дата/Время.
- Снимите флажок с опции «Отображать пиктограммы Всплывающего Календаря и Часов» > OK.
- Готово! Пиктограммы перестанут отображаться, Календарь и Часы будут по-прежнему доступны для использования. Иконки можно вернуть в любое время.
- Чтобы настроить появление иконки рядом с пустыми ячейками, столбцами, строками или произвольным диапазоном:
- Выберите пустую ячейку или диапазон.
- Вкладка «Главная» > Группа «Число» > Дата > OK. Так, ячейкам будет присвоен формат даты.
Или: вставьте любую дату с помощью «Всплывающего календаря» > Нажмите кнопку Delete. Это удалит непосредственно значения, и присвоит выбранным ячейкам формат даты. - Готово! Теперь, если вы выберите какую-либо ячейку в этом диапазоне, рядом с ней появится иконка Календаря.
- Чтобы убрать иконку Календаря с пустых ячеек:
Если ячейка пуста, но иконка по-прежнему появляется, значит, что ячейке присвоен формат даты или времени. Чтобы убрать иконку с пустых ячеек, измените их формат на Общий:
- Выберите пустую ячейку или диапазон.
- Вкладка «Главная» > Группа «Редактирование» > Очистить форматы.
Или: вкладка «Главная» > Группа «Число» > Выберите «Общий» из выпадающего списка.
Или: по правому клику «Формат ячеек» > Вкладка «Число» > Выберите формат «Общий» > OK.
- Нажмите кнопку «Настройки» на панели XLTools > Вкладка Дата/Время.
- Установите или снимите флажки соответствующих опций:
- «Добавить пункт «Вставить дату» в контекстное меню»
- «Добавить пункт «Вставить время» в контекстное меню»
- «Добавить пункт «Вставить дату и время» в контекстное меню»
- Нажмите OK > Готово.
Как встроить всплывающий календарь в книгу 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?
Для задания формата даты необходимо выделить нужные ячейки, после чего перейти на вкладку «Главная», в группу «Число» и раскрыть список форматов в поле «Числовой формат».
В раскрывшемся списке доступны два числовых формата: «Краткая дата» и «Длинный формат даты». В первом случае дата отображается числами, а во втором — числами и словами. Если предложенные форматы не подходят, выбираем пункт «Другие числовые форматы…», в результате чего появляется окно «Формат ячеек».
Это окно также можно вызвать щелчком левой кнопки мыши на правый нижний уголок группы,
либо просто кликнуть правой кнопкой мыши в области выделенных ячеек и выбрать из контекстного меню пункт «Формат ячеек».
В появившемся окне «Формат ячеек» переходим на вкладку «Число» и в группе «Числовые форматы» выбираем пункт «Дата»
В правой части окна отображаются возможности данного формата, в группе «Тип» выбераем нужный способ отображения даты. Форматы даты, перед которыми стоит значок *(звездочка), зависят от даты операционной системы, форматы, перед которыми этого значка нет – не зависят.
Как задать свой собственный формат даты? Как преобразовать дату в год, месяц либо день недели?
Выделяем нужные ячейки в окне открытого листа и вызываем окно «Формат ячеек» любым из перечисленных выше способов. В окне «Формат ячеек» выбираем вкладку «Число» и в группе «Числовые форматы» выбираем пункт «Все форматы». После этого помещаем курсор в поле «Тип» и набираем код числового формата в русской раскладке клавиатуры:
— М – для отображения месяцев в виде числа от 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 |
Private Sub Worksheet_SelectionChange(ByVal Target As Range) |
Настраиваем формулы для отображения деталей при выборе даты
Изменение даты на календаре ведет за собой изменение 4-х параметров отображения в анонсе: название, дата, место и описание. Зная, что дата находится в ячейке «ВыделеннаяЯчейка», воспользуемся формулами ВПР, ЕСЛИ и ЕСЛИОШИБКА для определения этих параметров. Логика формул следующая: если на выбранную дату существует событие, возвращает данные этого события, иначе возвращает пустую ячейку. Формулы с определением параметров события находятся на листе Расчеты, в ячейках G10:G13.
Добавление анонса
Наконец добавляем в лист Календарь 4 элемента Надпись и привязываем их к данным, находящихся в ячейках G10:G13 листа Расчеты.
Совет: для того, чтобы привязать значение ячейки к элементу Надпись, просто выделите элемент, в строке формул наберите G10 и щелкните Enter.
Настраиваем условное форматирование для выделенной даты
Наконец, добавьте условное форматирование, чтобы выделить даты с событиями в календаре.
Выберите диапазон дат в календаре
Переходим на вкладке Главная в группу Стили –> Условное форматирование –> Создать правило
В диалоговом окне Создание правила форматирования, выберите тип правила Использовать формулу для определения форматируемых ячеек.
Задаем правила выделения как на рисунке
Форматируем
Подчищаем рабочий лист, форматируем наш календарь и получаем классную визуализацию.
Пример рабочей книги с интерактивным календарем.
Выбор даты из всплывающего календаря
Описание работы
Excel позволяет добавить выпадающий календарь в конкретную ячейку, но часто этого не достаточно и приходится вводить большое количество дат в разные ячейки. Не всегда удобно делать это с клавиатуры, так как при вводе хочется параллельно видеть день недели и не ошибиться в выборе даты.
Чтобы вставить дату из всплывающего календаря в любой ячейке Excel можно использовать надстройку VBA-Excel. Для этого:
- Выделить ячейку в которую необходимо вставить дату.
- Перейти на вкладку VBA-Excel.
- Выбрать команду Вставить дату.
- В диалоговом окне Календаря выбрать нужную дату.
Работа с формой календаря
Форма календаря имеет достаточно широкий функционал.
- Можно быстро перейти к текущему числу.
- Быстро переключить месяц путем выбора его из списка.
- Изменять год с помощью переключателей.
- При выборе даты отображаются дни недели и подсвечиваются выходные дни.
- Вы можете вызвать окно ввода даты и продолжать работать с данными. Закрывать окно нет необходимости.
- Закрыть календарь можно в любой момент путем нажатия на крестик в правом верхнем углу.
Всплывающий календарь
Если вам часто приходится вводить даты в ячейки листа, то делать это вручную неудобно. Для ввода именно сегодняшней даты можно воспользоваться функцией СЕГОДНЯ (TODAY), сочетанием клавиш Ctrl+; или макросом, но если нужны разные даты из прошлого или будущего, то вбивать их руками долго.
К сожалению, в стандартном арсенале средств Excel нет встроенного выпадающего календаря (в отличие от Word), да еще и в последних версиях, начиная с Excel 2007, Microsoft зачем-то убрала из стандартного комплекта поставки библиотеку mscalc.osx, которая позволяла быстро создать пользовательскую форму с календарем.
Естественно, это «узкое место» не осталось без внимания опытных пользователей и экспертов Excel MVP, которые оперативно создали несколько интерактивных календарей на макросах для удобного ввода дат. Вот подборка неплохих, на мой взгляд, бесплатных вариантов:
Windows Date Picker
Автор: Ron de Bruin
Цена: бесплатно
Ссылка
- Устанавливается как надстройка (есть версии для старых Excel 200-2003 и для новых Excel 2007-2010 и, отдельно, для Excel 2013.
- Вызывается через контекстное меню ячейки (правой кнопкой мыши по ячейке — Date Picker).
- Позволяет вставлять дату в нескольких форматах, вплоть до номера недели (по разным стандартам).
- Автоматически подстраивается под российский стандарт недели (с понедельника).
Excel Date Picker
Автор: Jim Cone
Цена: бесплатно
Ссылка
- Макрос (не надстройка!) с открытым кодом VBA — можно посмотреть как всё устроено и модернизировать «под себя». Но надо копировать код в каждый используемый файл и вызывать нажатием на кнопку или сочетанием клавиш, т.е. универсальность хромает.
- Удобная система прокрутки лет и месяцев.
- Российскую неделю (с понедельника) знает.
- Каких-либо настроек нет.
- Работает только в Excel 2013, добавляется через магазин приложений Office App Store на вкладке Вставка — Приложения для Office (Insert — Office Apps Store).
- Вставляется на лист как постоянный графический объект и добавляет выбранную дату в любую выделенную предварительно ячейку.
- Умеет менять стандарты недели, отображать номера недель, вводить не только дату, но и время.
- Есть возможность задавать темы оформления.
- Нет кнопки перехода к текущему дню.
Date Picker
Автор: Sam Radakovitz, руководитель команды программистов Excel в Microsoft
Цена: бесплатно
Сайт автора умер, ссылки не работают, но можно скачать заботливо сохраненную мной когда-то копию здесь.
- Устанавливается как надстройка.
- Вызывается через правую кнопку мыши по ячейке — Pick from calendar или с помощью удобного всплывающего значка календарика справа от ячейки с датой.
- Красивый дизайн, отображение количества дней до выбранной даты от текущей.
- Использует USA-стандарт недели (отображает неделю с воскресенья).
- Настроек нет.
- в Excel 2003 и старше — меню Сервис — Надстройки — Обзор (Tools — Add-ins — Browse)
- в Excel 2007 и новее — Файл — Параметры — Надстройки — Перейти — Обзор (File — Options — Add-ins — Go To — Browse)
Трюк №89. Как добавить элемент управления Календарь в любую рабочую книгу Excel
Для гарантии правильности ввода дат пользователями элемент управления Excel Календарь (Calendar) может упростить ситуацию как для вас, так и для пользователей, работающих с вашей электронной таблицей. При помощи этого трюка можно добавить элемент управления Календарь (Calendar) в любую рабочую книгу Excel.
Если дата введена неправильно, Excel не сможет ее распознать. Иногда это означает, что вы не можете выполнять вычисления с числами, выглядящими как даты, но датами не являющимися. Кроме того, это означает, что любые диаграммы или сводные таблицы, которые основываются на этих данных, будут неверными. Хотя решить эту проблему может весьма разностороннее средство проверки данных Excel, оно также далеко от совершенства.
При помощи этого трюка можно добавить элемент управления Календарь (Calendar) в любую рабочую книгу Excel. Для начала откройте рабочую книгу, куда собираетесь добавить календарь. Лучше использовать ваш файл Personal.xls, который можно открыть командой Файл → Открыть (File → Open). Если этот пункт меню недоступен, значит, у вас пока нет файла Personal.xls. Можно создать его, записав пустой макрос. Для этого выберите команду Разработчик → Начать запись (Developer → Record New Macro) и в поле Сохранить в (Store Macro In) выберите вариант Личная книга макросов (Personal Macro Workbook). Затем щелкните на кнопке ОК, выделите любую ячейку и остановите запись. Excel автоматически создаст файл Personal.xls.
Выберите команду Разработчик → Редактор Visual Basic (Developer → Visual Basic Editor) (сочетание клавиш Alt/Option+Fll) и в VBE выберите команду Insert → UserForm. Должна появиться панель инструментов Control. (Если панель не открылась, выберите команду View → Toolbox.) Правой кнопкой мыши щелкните панель инструментов Control и в контекстном меню выберите команду Additional Controls. Прокрутите список до флажка Элемент управления Календарь 10.0 (Calendar Control 10.0) (номер версии зависит от версии Excel). Установите этот флажок и щелкните на кнопке ОК. Щелкните календарь, который теперь представляет собой часть панели инструментов, а затем щелкните форму UserForm, которую добавили ранее. При помощи маркеров изменения размера формы UserForm и элемента управления Календарь (Calendar) отрегулируйте их размер.
Удостоверьтесь, что форма UserForm выделена, и выберите команду View → Properties Window (клавиша F4). В окне Properties выберите Caption и замените слово UserForml словом Calendar. Теперь выберите команду View → Code (клавиша F7) и в частном модуле введите код, приведенный в листинге 7.14.
//Листинг 7.14 Private Sub Calendar1_Click() ActiveCell = Calendar1.Value End Sub Private Sub UserForm_Activate() Me.Calendar1.Value = Date End Sub
Выберите команду Insert → Module и в общем модуле введите код из листинга 7.15.
//Листинг 7.15 Sub ShowIt() UserForm1.Show End Sub
Закройте окно, чтобы вернуться в Excel. Выберите команду Разработчик > Макрос → Макросы (Developer > Macro → Macros) (сочетание клавиш Alt+F8) и затем выберите ShowIt. Щелкните кнопку Параметры (Options) и назначьте макросу клавишное сочетание — все готово. Нажмите выбранное сочетание клавиш, раскроется календарь с выбранной сегодняшней датой. Щелкните любую дату, и она будет вставлена в активную ячейку.
Excel выпадающий календарь
Была такая тема писал уже макрос да чтото не могу найти чтобы ссыл кинуть
А вот файлик остался
Тут вызывается календарь не во всех ячейках а только по столбцам H, J, G (я думаю труда не составит поправить под свои нужды, но если надо переделаю)
На лист 1
Private Sub CommandButton1_Click()
UserForm1.Top = ActiveCell.Top
UserForm1.Left = ActiveCell.Left
UserForm1.Show
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
result = False
s = ActiveCell.Address(RowAbsolute:=False, columnabsolute:=False, ReferenceStyle:=xlA1)
result = (s Like «H*») Or (s Like «J*») Or (s Like «G*»)
CommandButton1.Left = ActiveCell.Left + ActiveCell.Width
CommandButton1.Top = ActiveCell.Top
If result = True Then CommandButton1.Visible = True Else CommandButton1.Visible = False
End Sub
Добавляем форму, на нее Calendar Control из комплекта офиса
и код
Private Sub Calendar1_Click()
s1 = Calendar1.Day
s2 = Calendar1.Month
s3 = Calendar1.Year
ActiveCell = DateSerial(s3, s2, s1)
Calendar1.Today
UserForm1.Hide
End Sub
Private Sub UserForm_Initialize()
Load UserForm1
UserForm1.Hide
End Sub
Удачи с экспериментами
Excel выпадающий календарь
Не силен в vba. Прошу строго не судить.
Подскажите, пожалуйста, например я хочу запускать календарь из формы по клику на кнопке.
Соответственно, на кнопку я вешаю:
Вопрос. Что необходимо изменить в коде календаря, чтобы результат (выбранная дата) прописывался не в ячейку на листе, а передавался в определенную переменную? Указанную переменную я потом успешно смог бы использовать в выводе где угодно: хоть в Label, хоть TextBox, хоть в любой нужной мне ячейке на листе.
В модуле класса DateClass Найдите строку:
и вместо ActiveCell.Value укажите имя глобальной переменной к примеру CurrentDate
объявить глобальную переменную необходимо в простом модуле :
Public CurrentDate As Date
C переменной получилось. Спасибо большое.
В процессе работы с календарем возник еще один вопрос.
Когда кликаю на кнопку, вызываю DateForm.Show, всплывает календарь. Выбираю нужную дату, дата успешно прописывается в Label. Но чтобы закрыть календарь, необходимо еще раз кликнуть на выбранную дату. Т.е. календарь закрывается только при повторном клике на выбранной дате.
Можно ли как-то настроить, чтобы календарь закрывался при одном клике на выбранной дате?
Вот как должна выглядеть процедура на клик мыша в модуле класса DateClass:
В Вашей версии ActiveCell.Value заменено на глобальную переменную. Строка Unload DateForm в конце процедуры удаляет календарь.
Alex_ST, Отвечу по пунктам:
1. Понты — В давние времена у меня был металлический перекидной календарь, год там был четыре цифры в окошках. Согласись прикольно.
2. Вот накой немодальный вызов — вызвал — дату выбрал — календарь ушел — дата осталась. Я понимаю процесс какой обсчитывать, думаю это лишнее. Тем более открывается быстро и возвращает дату из активной ячейки.
3. Поюзаю, подумаю, если много не переписывать добавлю.
4. Вот накой козе баян? Если вызывать из пустой ячейки позицирует на текущей дате, зачем еще кнопка — Алекс пустое, тем более даты можно выбрать двумя кликами.
1. Ну, это на любителя. Поэтому в своей доработке я окошечки сдвинул поближе друг к другу.
2. Немодальный вызов удобен если обрабатываешь табличку с несколькими датами. Тогда в Activecell значение из календаря вносить можно даблкликом по нужной дате. А закрывать форму после изменения всех нужных дат — «крестиком»
3. С прокруткой через месяцы по годам получилось очень удобно. Вряд ли кто будет против такой фичи возражать.
4. Не согласен. Если, листая даты далеко ушёл от «сегодня», то удобнее к нему возвратиться по спец.кнопочке чем вспоминать «а что у нас сегодня?» и опять листать до нужной даты (ведь вставка запрещена).
И к стати, ты, я смотрю, даже не посмотрел, как я упростил формулы. А там здорово сократилось и окультурилось всё
Alex_ST, не смотрел потому что zip в запрете.