Note: The other languages of the website are Google-translated. Back to English

Как открыть календарь при нажатии на определенную ячейку в Excel?

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


Вызов календаря при нажатии на определенную ячейку с кодом VBA

Решите эту проблему, как показано ниже.

Внимание: Этот метод работает только с 32-разрядной версией Microsoft Excel.

Шаг 1. Создайте пользовательскую форму с календарем

Пожалуйста, создайте UserForm, который содержит календарь, который вы увидите, щелкнув ячейку.

1. Нажмите другой + F11 клавиши одновременно, чтобы открыть Microsoft Visual Basic для приложений окно.

2. в Microsoft Visual Basic для приложений окна, нажмите Вставить > UserForm.

3. Затем UserForm и Ящик для инструментов окна всплывают, в Ящик для инструментов, щелкните любой элемент управления и щелкните правой кнопкой мыши, затем выберите Дополнительные элементы управления из контекстного меню. Смотрите скриншот:

4. в Дополнительные элементы управления диалоговом окне прокрутите вниз, чтобы проверить Элемент управления Microsoft MonthView вариант в Доступные элементы управления поле, а затем щелкните OK кнопку.

5. Затем вы увидите МесяцПросмотр кнопка добавлена ​​в Ящик для инструментов окно. Пожалуйста, нажмите эту кнопку MonthView, а затем щелкните окно UserForm1, чтобы создать Календарь в Userform.

Внимание: Вы можете настроить размер окна UserForm в соответствии с вставленным календарем, перетащив границу UserForm.

6. Дважды щелкните вставленный календарь в UserForm1 и в Код: окна, замените исходный код следующим сценарием VBA.

VBA code: create a user form with calendar

Private Sub MonthView1_DateClick(ByVal DateClicked As Date)
 On Error Resume Next
   Dim xRg As Object
   For Each xRg In Selection.Cells
      xRg.Value = DateClicked
   Next xRg 
   Unload Me
End Sub

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

Шаг 2: активируйте Календарь при нажатии на ячейку

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

7. Дважды щелкните имя листа, содержащего ячейки, которые вы нажмете, чтобы слева появился календарь. Проекты под застройку панель, затем скопируйте и вставьте приведенный ниже код VBA в окно кода. Смотрите скриншот:

VBA code: Click cell to pop up calendar

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If (Target.Count = 1) Then
    If Not Intersect(Target, Range("A2:A10")) Is Nothing Then UserForm1.Show
    End If
End Sub

Внимание: в коде A2: A10 - это ячейки, при нажатии на которые открывается календарь. Измените диапазон ячеек по своему усмотрению.

8. Нажмите другой + Q клавиши одновременно, чтобы закрыть Microsoft Visual Basic для приложений окно.

С этого момента при щелчке по любой ячейке в указанном диапазоне на текущем листе появится календарь, как показано ниже. И дата будет автоматически вставлена ​​в выбранную ячейку после выбора даты в календаре.


Вызов календаря при нажатии на определенную ячейку с кодом VBA

В этом разделе представлены Выбор даты полезности Kutools for Excel. После включения этой функции щелкните ячейку даты, чтобы открыть календарь, вы можете легко заменить существующую дату на новую дату. Чтобы применить эту функцию, выполните следующие действия.

1. Нажмите Кутулс > Содержание > Включить средство выбора даты.

2. После включения этой функции щелкните ячейку даты, и значок календаря появится справа от ячейки.

3. Щелкните значок календаря, чтобы открыть Выбор даты диалоговое окно, а затем щелкните новую дату, чтобы заменить дату в выбранной ячейке.

Ноты:

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

  Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.


Статьи по теме:


Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (18)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
Я хочу показать всплывающий календарь под выбранной ячейкой. Что мне делать?
Этот комментарий был сведен к минимуму модератором на сайте
Я использовал эти коды VBA, и пока все в порядке. Диапазон составляет A2: A10, и календарь появляется, когда вы выбираете в нем ячейку. Но если вы снова отметите строку со 2 по 10, календарь снова появится. То же самое и со столбцом «А», если его отметить, снова всплывает календарь. Как мне поступить, чтобы получить календарь только в том диапазоне, который я определил?
Этот комментарий был сведен к минимуму модератором на сайте
Всем привет,

Может ли кто-нибудь сказать мне, как открыть календарь в диапазоне ячеек, но начиная только с ячейки справа от заголовка таблицы и ниже в столбце excel.


Спасибо заранее.
Этот комментарий был сведен к минимуму модератором на сайте
Добрый день,
Извините, я не получил ваш вопрос. Было бы неплохо, если бы вы могли предоставить скриншот того, что вы пытаетесь сделать.
Этот комментарий был сведен к минимуму модератором на сайте
Использовать т.е. Диапазон("B6:C30")
Этот комментарий был сведен к минимуму модератором на сайте
Использовать т.е. Диапазон("B6:C30")
Этот комментарий был сведен к минимуму модератором на сайте
tarihi seçebiliyorum ama a1:a10 hücrelerine seçtiğim tarih eklenmiyor. тешеккюр эдерим
Этот комментарий был сведен к минимуму модератором на сайте
если я попытаюсь выбрать строку, всплывающее окно активируется, и дата появится в каждой ячейке этой строки.


как я могу избежать этого
Этот комментарий был сведен к минимуму модератором на сайте
Привет Сэм,
Код был обновлен в статье с решением проблемы. Пожалуйста, попробуйте и спасибо за ваш комментарий.
Этот комментарий был сведен к минимуму модератором на сайте
Salve il codice funziona benissimo, ma se volessi farlo funzionare anche su un altro focuslio
Этот комментарий был сведен к минимуму модератором на сайте
Привет. Можно ли разместить всплывающее окно выбора даты для нескольких столбцов, так как на моем листе у меня есть «дата начала», «дата окончания» и «дата соглашения». если да то как?
Этот комментарий был сведен к минимуму модератором на сайте
привет джет,
Следуйте инструкциям и замените диапазон «A2: A10» во втором коде VBA диапазоном вашего столбца (например, C2: E2).
Этот комментарий был сведен к минимуму модератором на сайте
Большое спасибо! Эти направления были супер полезными :)
Этот комментарий был сведен к минимуму модератором на сайте
Календарь появится, но когда я нажимаю на дату, ячейка не заполняется
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте,
Код работает хорошо в моем случае. Какую версию Excel вы используете?
Этот комментарий был сведен к минимуму модератором на сайте
В списке нет элемента управления Microsoft MonthView (Office 365), и в приведенных здесь указаниях не объясняется, как можно получить этот элемент управления, поэтому это практически бесполезно, если вы не используете более старую версию Excel.
Этот комментарий был сведен к минимуму модератором на сайте
Я не вижу элемент управления Microsoft MonthView в списке, но, возможно, Пит (#32847) упомянул, что он не будет работать в Office 365 или 64-разрядной версии Microsoft Office.
Этот комментарий был сведен к минимуму модератором на сайте
Привет Тиган Кодл,
Я искал и пробовал методы, предложенные в google, но в конечном итоге не смог зарегистрировать элемент управления MonthView в Microsoft 365.
Извините за беспокойство. Может быть, вы можете проверить это.
https://social.technet.microsoft.com/Forums/Azure/en-US/db3b4dff-aad7-4d88-87cc-8f3f117be550/microsoft-windows-common-controls-60-for-office-2016
Здесь еще нет комментариев
Пожалуйста, оставляйте свои комментарии на английском языке
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL