Как установить DTpicker в Excel
Обновлено: 21.11.2024
В Excel раскрывающийся календарь технически известен как Microsoft Date and Time Picker Control. Он вставляется с помощью ActiveX Control и недоступен для 64-битной версии MS Excel.
Ключевые выводы
- Раскрывающийся календарь технически известен как Microsoft Date and Time Picker Control в Excel.
- Средство выбора даты Microsoft не работает в 64-разрядной версии Excel.
- Раскрывающийся календарь вставляется с помощью элементов управления ActiveX в группе элементов управления на вкладке "Разработчик".
- Элемент управления Microsoft Date and Time Picker 6.0 (SP6) выбран в поле «Дополнительные элементы управления», чтобы вставить раскрывающийся календарь.
- Файл должен быть сохранен с расширением «.xlsm» ( macro-enabledMacro-enabledВключение макросов просто означает запуск или выполнение макроса в определенном файле, чтобы сэкономить время, затрачиваемое на повторяющиеся действия. Чтобы включить макросы, выберите «включить все макросы» в «центре управления безопасностью» на вкладке «Файл» (на кнопке «Параметры»).Подробнее ), чтобы запустить код VBA.
- В раскрывающемся календаре дату, месяц и год можно изменить с помощью различных кнопок со стрелками.
Пример 1. Вставка средства выбора даты
У нас есть данные сотрудников организации. Это разные поля: «код сотрудника», «имя сотрудника», «дата поступления сотрудника» и «отдел сотрудника».
Раскрывающийся календарь позволяет пользователю легко вводить даты присоединения. Для этого мы вставляем элемент управления ActiveX с именем «Microsoft Date and Time Picker Control 6.0 (SP6)».
Шаги по созданию раскрывающегося календаря перечислены ниже (первые три шага делают видимой вкладку "Разработчик"):
- Шаг 1. В меню "Файл" выберите "Параметры".
Шаг 10. В редакторе Visual Basic код уже написан. Замените этот существующий код следующим кодом.
Пример 2. Объяснение кода
Объяснение, за которым следует код внутри блока, дается следующим образом:
Примечание. Мы используем оператор with, чтобы не ссылаться на "DTPicker1" снова и снова.
Если в столбце C выбрана какая-либо ячейка, только тогда становится видимым средство выбора даты. Функция «Пересечение» возвращает адрес, если в столбце C выбрана ячейка; в противном случае значение равно null.
Примечание. Чтобы получить ссылку на следующую правую ячейку, мы используем «Смещение смещения». Функция «СМЕЩЕНИЕ» в Excel возвращает значение ячейки или диапазона (соседних ячеек), которое представляет собой определенное количество строк и столбцов из точка отсчета. read more» с «0» в качестве аргумента строки и «1» в качестве аргумента столбца. Получается ссылка на ячейку в следующем столбце.
Пример 3. Операция выбора даты
При выборе ячейки в столбце C в правом верхнем углу выбранной ячейки появляется раскрывающийся календарь.
Работа раскрывающегося календаря объясняется следующим образом:
Часто задаваемые вопросы
<р>1. Выберите элемент управления календарем и включите «режим дизайна». Либо перетащите угол окна выбора даты (в режиме конструктора), чтобы изменить его размер.2. В окне «свойства» установите желаемую высоту, ширину и шрифт.
3. Перетащите элемент управления, когда курсор изменится на четырехконечную стрелку. Это переместит средство выбора даты в нужное место.
4. Выберите средство выбора даты и в меню «Формат» внесите изменения в «границы и затенение». Это изменяет границу и цвет средства выбора даты.
– Для отображения дат выставления счетов и доставки заказов клиентов
– Для отображения дат вылета рейсов в формах заявок на командировки
– Для отображения даты присоединения сотрудников к базе данных Excel организации< br />– Для отображения даты рождения в страховых формах
Для выбора диапазона дат пользователь должен выбрать дату начала и окончания процесса. В таких случаях средство выбора даты отображает два поля ввода, расположенные рядом друг с другом.
Элемент выбора даты помогает пользователю вставлять даты «до» и «от» в шаблон формы. Такой выбор диапазона в календаре часто используется в полетных приложениях. При выборе двух дат диапазон дат выделяется в календаре.
Рекомендуемые статьи
Это руководство по выбору даты в Excel. Здесь мы обсудим, как вставить средство выбора даты в Excel вместе с практическими примерами и загружаемым шаблоном Excel. Вы можете узнать больше об Excel из следующих статей —
У Эда на работе три компьютера. У одного есть Excel 2010 с инструментом выбора даты, но два других, один с Excel 2010 и один с Excel 2013, не имеют этого инструмента. Ему интересно, как загрузить этот инструмент в Excel 2010 и Excel 2013.
Согласно отчетам Microsoft, традиционный инструмент выбора даты (называемый MSCAL.OCX) был включен в состав Office 2007, но не включен в более поздние версии Office. В Office 2010 средство выбора даты заменено обновленной версией в библиотеке Active-X, которая называется MSCOMCT2.OCX.
Вы можете узнать, установлен ли у вас новый инструмент выбора даты, выполнив следующие действия:
- Отобразите вкладку "Разработчик" на ленте.
- Выберите инструмент «Вставка». В Excel отображается палитра инструментов, которые можно вставить на лист.
- В разделе палитры «Элементы управления ActiveX» выберите параметр «Дополнительные элементы управления». (Это самый нижний правый инструмент.) Excel отображает диалоговое окно «Дополнительные элементы управления».
- Прокручивайте диалоговое окно, пока не найдете инструмент Microsoft Date and Time Picker. Выберите его.
- Нажмите "ОК".
Если инструмент не отображается в диалоговом окне "Дополнительные элементы управления", значит, он не установлен в вашей системе. Если вы используете 64-разрядную версию Office, вы не сможете установить элемент управления. Причина в том, что MSCOMCT2.OCX работает только в 32-битных системах. (На самом деле, ни один из элементов управления ActiveX не работает в 64-разрядной версии Office. Когда Microsoft действительно выпустит версии элементов управления, которые работают с 64-разрядной версией Office, они, скорее всего, будут иметь другие имена, что, несомненно, усложнит жизнь Программисты VBA, которые полагаются на элементы управления.
Если вы используете 32-разрядную версию Office, вы можете попытаться скопировать элемент управления MSCOMCT2.OCX из аналогичной системы и зарегистрировать его в Windows. (Перед копированием выполните поиск в Windows, чтобы убедиться, что файл действительно находится в вашей системе. Если это так, пропустите копирование и просто попробуйте зарегистрировать его.)
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию. Нажмите здесь, чтобы открыть эту специальную страницу в новой вкладке браузера.
ExcelTips – это экономичное обучение работе с Microsoft Excel. Этот совет (2080) относится к Microsoft Excel 2007, 2010 и 2013.
Биография автора
На его счету более 50 научно-популярных книг и множество журнальных статей. Аллен Уайатт является всемирно признанным автором. Он является президентом Sharon Parq Associates, компании, предоставляющей компьютерные и издательские услуги. Узнайте больше об Аллене.
Этот инструмент выбора даты добавляет кнопку на ленту и, при необходимости, еще несколько мест: контекстное меню и кнопку в сетке при выборе даты.
Быстро выберите дату и обновите значение ячейки.Используйте колесико мыши, чтобы быстро перемещать месяцы!
С ленты вы можете запустить средство выбора даты или быстро вставить дату/время и настроить работу средства выбора.
Как установить:
После загрузки и разархивирования поместите его в папку xlstart, которая будет загружать его при запуске Excel. Расположение папки отличается для каждой версии Excel, но обычно находится где-то под:
альтернативный вариант:
После распаковки загрузите Excel и выберите [ Файл -> Параметры -> Надстройки -> Перейти ] для управления надстройками Excel, а затем перейдите к загруженному отсюда файлу. У людей были проблемы с его загрузкой каждый раз при использовании пользовательского интерфейса надстройки, папка xlstart кажется более надежной.
Потом:
Если вы используете более позднюю версию Excel, вам может потребоваться разблокировать надстройку после загрузки из-за обновлений безопасности Office и убедиться, что вы находитесь в надежной папке.
В: Поддерживаете ли вы версии 2003 и более ранние?
О: Мое исходное средство выбора даты работает с Excel 2003 и более ранними версиями, хотя официально я его больше не поддерживаю. Нажмите здесь, чтобы скачать.
В. Работает ли это с 32-разрядной или 64-разрядной версией Excel?
A: Недавно обновлено для работы как в 32-битном, так и в 64-битном Excel.
В: у меня возникли проблемы с загрузкой надстройки.
О: Возможно, вам придется разблокировать надстройку после загрузки из-за обновлений безопасности Office и убедиться, что вы находитесь в надежной папке.
Чтобы назначить столбец A в качестве DatePicker, скопируйте следующий код:
Или, если вы хотите изменить столбец E на столбец G, вы должны изменить эту строку на
Однако, если вам нужен DatePicker в двух или более несмежных столбцах, вам потребуется отдельный DatePicker (каждый с отдельным именем в поле имени) для каждой несмежной группы. Например, предположим, что нам нужны столбцы A, B, E, F и H, чтобы все они были DatePickers. Нам нужно будет выполнить описанные выше шаги 3 раза для 3 отдельных DatePickers.
- 1 для столбцов A, B
- 1 для столбцов E, F
- 1 для столбца H
Шаги будут очень похожими, но код будет таким:
36 мыслей о том, как добавить DatePicker (календарь) в ячейки Excel
Почему бы не использовать одну строку для столбцов?
Если не пересекается(цель, диапазон("A:B,D:E")) равно нулю, то
Большое спасибо за обсуждение этого заявления и обнародование его
Не удалось сохранить файл:
Следующее не может быть сохранено в книгах без макросов
Проект VB
Большое спасибо. Я всегда хотел сделать это в своих документах и был рад найти это простое руководство.
Я заметил кое-что необычное в формате ячейки даты, которую создает это средство выбора даты, что создает проблемы при использовании его в формулах. Например, если у меня есть 2 ячейки даты с одинаковой датой, скажем, A1 был введен вручную с 24/11/2019, а ячейка B1 имеет дату, введенную с помощью средства выбора даты. Если затем я проведу сравнение, сказав что-то вроде =IF(A1=B1,Success,Fail), то полученный результат будет ложным и отобразит «Fail». Есть мысли?
Вы пробовали «форматировать» ячейку A1, чтобы преобразовать значения в дату (в указанном формате)
Это может сработать, так как тогда Excel будет обрабатывать значение как дату, а не строку.
Если это не сработает, возможно, вам придется усилить условную проверку.
«A1=B1», скорее всего, сверяет значение String со значением Date, что на самом деле приводит к False.
Если трюк с форматированием не работает, вы можете попробовать привести A1 к дате в условном выражении IF (или преобразовать ячейку B1 к строке в условном выражении IF)
Я очень ценю вашу помощь в моем проекте!
Спасибо! Четко и подробно — очень полезно
Что делать, если эти ячейки даты находятся ниже ячейки заголовка – как мне изменить формат, чтобы он учитывал это.
Кроме того, функция сортировки по-прежнему будет работать в этих столбцах — у меня она не работает. Возможно, ошибка пользователя…
У меня та же проблема: я хочу, чтобы календарь начинался с A5, а затем применялся к каждой ячейке для остальной части столбца. Как мне начать с A5, а не со всей колонки?
Я добавил этот инструмент, и все было идеально... но... когда я добавил еще один код для "множественного выбора из раскрывающегося списка" на том же листе, множественный выбор не работал.
Мне нужна помощь, пожалуйста
Это случилось и со мной, вы когда-нибудь понимали это?
Я попытался добавить календарь на другой лист того же проекта, но это не сработало. почему?
Привет! Вы изменили код листа, который использовали? Например, приведенный выше код был написан для листа 1 следующим образом: «With Sheet1.DTPicker1». Если вместо этого вы были на листе 2, вам следует изменить его на «С Листом2.DTPicker1».
Сообщите мне, если вы уже пробовали это или это не работает!
Здравствуйте,
Спасибо!!
Как я могу сделать это недопустимым для первых двух строк, поскольку они являются заголовком таблицы?
Я использовал оператор OFFSET. $F$3 — первая активная ячейка, другие ячейки в столбце не активны, если данные не введены в столбец A в той же строке:
Если Not Intersect(Target, Range("=OFFSET($F$3,0,0,COUNTA($A$3:$A$1048576),1)")) равно нулю, то
Здравствуйте! Я попробовал использовать календарь на листе, и он отлично работает. Однако проблема заключается в том, что после добавления календаря и VBA я получаю ошибку времени выполнения 1004 всякий раз, когда пытаюсь выделить строку (не происходит в столбцах). Это по-прежнему позволит мне выбрать строку, но я должен отменять ошибку каждый раз, что немного больно. Есть идеи, в чем проблема?
У меня была такая же проблема. Добавлен небольшой обработчик ошибок для остановки диалогового окна:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
При ошибке GoTo ErrorHandler
С Sheet1.DTPicker1
.Height = 20
.Width = 20
Если Not Intersect(Target, Range("A:A")) равно ничего, то
.Visible = True
.Top = Target.Top
.Left = Target.Offset(0, 1).Left
.LinkedCell = Target.Address
Else < br />.Visible = False
Конец, если
Конец с
ErrorHandler:
Exit Sub
End Sub
Поэтому я смог следовать всем инструкциям, но когда я щелкнул правой кнопкой мыши поле выбора в режиме разработчика, получил объект DTpicker1 и щелкнул свойства. Это поле свойств пусто. Я не могу установить флажок, так как поле свойств пусто.
Есть идеи?
Точно такая же проблема...
Привет, Тони, только что понял. Когда вы щелкаете свойства с открытым VBA, под флажком выберите из раскрывающегося списка «False» на «True»
Этот код не работает для книг с поддержкой макросов?
Привет
Мне не нужно время, как мне удалить время
Спасибо за прекрасное обучающее видео и страницу. Мне помогло на 95%. Однако, как и в случае с Полом Роузом выше, в одном столбце, где я поместил средство выбора даты, также появляется время, и это фиксированное время, а не текущее.
Когда я нажимаю вверху столбца, появляется это сообщение об ошибке:
"Ошибка выполнения "440":
Недопустимое значение свойства"
И когда я нажимаю "отладить", в коде выделяется эта строка:
в соответствующем столбце средства выбора даты, с которым у меня возникли проблемы. Я пытался найти руководство по этому поводу на других страницах, но не придумал, как удалить время из этого столбца. У меня есть 3 других средства выбора даты в несмежных столбцах, которые работают отлично, у которых нет отметки времени, которая появляется вместе с датой.
У меня такая же проблема с отметкой времени. Я хочу это! Я пробовал все, от простого форматирования чисел в ячейках Excel до попыток манипулировать кодом средства выбора даты. Если вы нашли решение, пожалуйста, отпишитесь. Спасибо
Очень круто. Я искал это довольно давно. Только не могу понять, как изменить формат даты, т.е. с дд/мм/гг на дд-ммм-гг. Любая помощь будет высоко оценена
Как мы можем удалить отметку времени с датой? Это сводит меня с ума!
Установка времени на 00:00:00 «скрывает» его от меня
Чтобы избавиться от времени, я ввел дату. Затем скопируйте формат во все ячейки
Эй, это действительно здорово! Я заставил все работать и сохранил свою электронную таблицу как таблицу макросов. Единственная проблема, с которой я сталкиваюсь, заключается в том, что когда я пытаюсь снова открыть свою электронную таблицу, все DatePickers не работают. Я получаю «Ошибка компиляции: метод или элемент данных не найден. Есть идеи, как это исправить?
Да! работает отлично, за исключением случаев, когда вы сохраняете и повторно открываете файл, который ставит временные метки!
Просто супер! Большое спасибо!
Это работает в 64-разрядных системах или обязательно должно быть 32-разрядное?
Оставить ответ Отменить ответ
Последние публикации
В приведенных ниже таблицах представлены все коэффициенты преобразования единиц измерения, использованные в учебном пособии по приложению Unit Converter, в котором мы вместе работали над созданием интерфейса JavaFX и SceneBuilder. Нажмите здесь, чтобы.
О нас
Pragmatic Ways помогает разработчикам писать лучший код. Многие разработчики в реальном мире либо забыли методы чистого кодирования, которым они научились еще в школе, либо вообще никогда не изучали их. Вдобавок ко всему, одно дело — изучить основные концепции объектно-ориентированного программирования, и совсем другое — знать, когда, где, почему и как на самом деле их использовать при написании сложных, надежных и удобных в сопровождении приложений.
В этом блоге рассказывается о передовых методах разработки программного обеспечения, шаблонах проектирования, структурах данных и алгоритмах, рефакторинге устаревшего программного обеспечения и других важных аспектах, которые должен знать каждый разработчик, чтобы писать качественный код.
Юридическая информация
Информационный бюллетень
Читайте также: