Как вызвать календарь при нажатии на определенную ячейку в Excel?
Предположим, что в вашем рабочем листе есть диапазон столбцов, куда вам нужно часто вводить и изменять даты. Однако каждый раз вводить или изменять дату вручную утомительно. Как быстро ввести даты без ручного набора в этот диапазон столбцов? В этой статье рассказывается о том, как вызывать календарь при нажатии на ячейки в определенном диапазоне, а затем автоматически вставлять дату в выбранную ячейку после выбора даты в календаре.
Шаг 2: Активируйте календарь при нажатии на ячейку
Вызов календаря при нажатии на определенную ячейку с помощью кода VBA
Пожалуйста, решите эту проблему пошагово следующим образом.
Примечание: Этот метод работает только в Microsoft Excel 32-бит.
Шаг 1: Создайте пользовательскую форму с календарем
Пожалуйста, создайте пользовательскую форму, которая содержит календарь, который будет вызываться при нажатии на ячейку.
1. Нажмите клавиши Alt + F11 одновременно, чтобы открыть окно Microsoft Visual Basic for Applications.
2. В окне Microsoft Visual Basic for Applications нажмите Вставить > Пользовательская форма.
3. Затем появятся окна Пользовательской формы и Панели инструментов. На панели инструментов щелкните любой элемент управления правой кнопкой мыши и выберите Дополнительные элементы управления из контекстного меню. См. скриншот:
4. В диалоговом окне Дополнительные элементы управления прокрутите вниз до пункта Microsoft MonthView Control в поле Доступные элементы управления и нажмите кнопку ОК.
5. После этого вы увидите, что кнопка MonthView добавлена в окно Панели инструментов. Щелкните эту кнопку MonthView, а затем щелкните на окне UserForm1, чтобы создать календарь в форме пользователя.
Примечание: Вы можете изменить размер окна Пользовательской формы, чтобы он соответствовал вставленному календарю, перетаскивая границы формы.
6. Дважды щелкните вставленный календарь в UserForm1, и в окне Кода замените исходный код следующим сценарием VBA.
Код VBA: создание пользовательской формы с календарем
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: Нажмите на ячейку, чтобы вызвать календарь
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. Нажмите клавиши Alt + Q одновременно, чтобы закрыть окно Microsoft Visual Basic for Applications.
С этого момента при нажатии на любую ячейку внутри указанного диапазона в текущем рабочем листе появится календарь, как показано на скриншоте ниже. И дата будет автоматически вставлена в выбранную ячейку после выбора даты из календаря.
Вызов календаря при нажатии на определенную ячейку с помощью кода VBA
В этом разделе представлена утилита Выбор даты Kutools для Excel. После активации этой функции при нажатии на ячейку с датой появится календарь, с помощью которого вы сможете легко заменить существующую дату новой. Пожалуйста, следуйте приведенным ниже шагам для применения этой функции.
1. Нажмите Kutools > Текст > Включить выбор даты.
2. После активации этой функции нажмите на ячейку с датой, и справа от ячейки появится значок календаря.
3. Нажмите на значок календаря, чтобы открыть диалоговое окно Выбор даты, а затем нажмите новую дату, чтобы заменить дату в выбранной ячейке.
Примечания:
Кнопка Отмена: Нажмите эту кнопку, чтобы отменить замену даты;
Кнопка Закрыть: Нажмите эту кнопку, чтобы закрыть диалоговое окно Выбор даты;
- Эта функция может применяться только к ячейкам, содержащим дату.
Если вы хотите воспользоваться бесплатной пробной версией (30-день) этой утилиты, пожалуйста, нажмите, чтобы скачать её, а затем перейдите к выполнению операции согласно вышеуказанным шагам.
Связанные статьи:
- Как запустить или выполнить макрос при нажатии на определенную ячейку в Excel?
- Как изменить цвет ячейки при нажатии или выделении в Excel?
- Как вызвать окно сообщения при нажатии на определенную ячейку в Excel?
- Как отключить кнопку после одного нажатия в Excel?
- Как отключить правый клик на вкладке листа в Excel?
Лучшие инструменты для повышения продуктивности работы с Office
Ускорьте работу в Excel с Kutools для Excel и ощутите новую степень эффективности. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Нажмите здесь, чтобы выбрать нужную вам функцию...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна, а не в отдельных окнах.
- Увеличьте свою продуктивность на50% и сократите сотни лишних кликов мышью каждый день!