Перейти до основного матеріалу

Як спливати календар при натисканні певної комірки в Excel?

Припустимо, що на аркуші є діапазон стовпців, який потрібно часто вводити та змінювати дати всередині, але нудно вводити або змінювати дату вручну за раз. Як швидко ввести дати, не вводячи вручну в діапазон стовпців? У цій статті йдеться про вискакування календаря при натисканні на клітинки в певному діапазоні, а потім про автоматичне вставлення дати у вибрану комірку після вибору дати в календарі.


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

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

примітки: Цей метод може працювати лише в 32-розрядному Microsoft Excel.

Крок 1: Створіть UserForm з календарем

Будь ласка, створіть UserForm, який містить календар, який ви з’явите, натиснувши клітинку.

1. прес інший + F11 клавіші одночасно, щоб відкрити Microsoft Visual Basic для додатків вікна.

2 В Microsoft Visual Basic для додатків вікна, натисніть Insert > Форма користувача.

3. Тоді a Форма користувача і Інструменти вікна спливають, в Інструменти, клацніть будь-який елемент управління та клацніть правою кнопкою миші, а потім виберіть Додаткові елементи керування з меню правої клавіші миші. Дивіться знімок екрана:

4 В Додаткові елементи керування діалоговому вікні, прокрутіть вниз, щоб перевірити Управління Microsoft MonthView опція в Доступні елементи керування , а потім клацніть на OK кнопки.

5. Тоді ви можете побачити MonthView Кнопка додана в Інструменти вікно. Натисніть цю кнопку 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 для Excel. Увімкнувши цю функцію, клацніть клітинку дати, з’явиться календар, ви зможете легко замінити наявну дату на нову. Будь ласка, виконайте наведені нижче дії, щоб застосувати цю функцію.

1. клацання Кутулс > зміст > Увімкнути вибір дати.

2. Після ввімкнення цієї функції натисніть клітинку на дату, і піктограма календаря з’явиться прямо до комірки.

3. Клацніть піктограму календаря, щоб відкрити Вибір дати і натисніть нову дату, щоб замінити дату у вибраній комірці.

Примітки:

  • Кнопка "Скасувати": натисніть цю кнопку, щоб скасувати дату заміни;
  • Кнопка "Закрити": натисніть цю кнопку, щоб закрити діалогове вікно "Вибір дати";
  • Ця функція може застосовуватися лише до комірок, що містять дату.

  Якщо ви хочете отримати безкоштовну пробну версію (30 днів) цієї програми, натисніть, щоб завантажити, а потім перейдіть до застосування операції, як описано вище.


Статті по темі:

Найкращі інструменти продуктивності офісу

Популярні функції: Знайдіть, виділіть або визначте дублікати   |  Видалити порожні рядки   |  Об’єднайте стовпці або клітинки без втрати даних   |   Раунд без Формули ...
Супер пошук: VLookup за кількома критеріями    Багатозначний VLookup  |   VLookup на кількох аркушах   |   Нечіткий пошук ....
Розширений розкривний список: Швидке створення випадаючого списку   |  Залежний спадний список   |  Виберіть розкривний список, що вибирається ....
Менеджер колонок: Додайте конкретну кількість стовпців  |  Перемістити стовпці  |  Перемкнути статус видимості прихованих стовпців  |  Порівняйте діапазони та стовпці ...
Особливості: Фокус сітки   |  Перегляд дизайну   |   Велика панель формул    Диспетчер робочих книг і аркушів   |  Бібліотека ресурсів (автотекст)   |  Вибір дати   |  Об’єднайте робочі аркуші   |  Шифрування/розшифрування клітинок    Надсилайте листи за списком   |  Супер фільтр   |   Спеціальний фільтр (фільтр жирний/курсив/закреслений...) ...
Топ-15 наборів інструментів12 текст Tools (додати текст, Видалити символи, ...)   |   50 + Графік типи (діаграма Ганта, ...)   |   40+ Практичний Формули (Розрахуйте вік на основі дня народження, ...)   |   19 вставка Tools (Вставте QR-код, Вставити зображення зі шляху, ...)   |   12 Перетворення Tools (Числа до слів, Валютна конверсія, ...)   |   7 Злиття та розділення Tools (Розширені комбіновані ряди, Розділені клітини, ...)   |   ... і більше

Покращуйте свої навички Excel за допомогою Kutools для Excel і відчуйте ефективність, як ніколи раніше. Kutools для Excel пропонує понад 300 додаткових функцій для підвищення продуктивності та економії часу.  Натисніть тут, щоб отримати функцію, яка вам найбільше потрібна...

вкладка kte 201905


Вкладка Office Передає інтерфейс із вкладками в Office і значно полегшує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
Comments (18)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I am not seeing the Microsoft MonthView Control in the listing, but it may be as Pete (#32847) mentioned that this will not work in Office 365 or 64-bit Microsoft Office.
This comment was minimized by the moderator on the site
Hi Teagan Caudle,
I searched and tried the methods suggested in google, but ultimately could not register the MonthView control in Microsoft 365.
Sorry for the inconvenience. Maybe you can check this out.
https://social.technet.microsoft.com/Forums/Azure/en-US/db3b4dff-aad7-4d88-87cc-8f3f117be550/microsoft-windows-common-controls-60-for-office-2016
This comment was minimized by the moderator on the site
There is no Microsoft MonthView Control listed (Office 365), and the directions here doesn't explain how one would get that control, so this is pretty much useless unless you're using an older version of Excel.
This comment was minimized by the moderator on the site
The calendar will show up but when I click on the date, the cell doesn't populate
This comment was minimized by the moderator on the site
Hi,
The code works well in my case. Which Excel version are you using?
This comment was minimized by the moderator on the site
Thank you so much! These directions were super useful :)
This comment was minimized by the moderator on the site
Hi, Is it possible to put the date picker pop-up for multiple column, as in my sheet I have "start date", "end date" and "agreement date". if yes then how?
This comment was minimized by the moderator on the site
Hi jeet,
Follow the steps and replace the range "A2:A10" in the second VBA code with your column range (such as C2:E2).
This comment was minimized by the moderator on the site
Salve il codice funziona benissimo, ma se volessi farlo funzionare anche su un altro foglio
This comment was minimized by the moderator on the site
if i try to select a row, the pop up will activate and the date appears in each cell in that row


how can i avoid this
This comment was minimized by the moderator on the site
Hi Sam,
The code has been updated in the article with the problem solving. Please have a try and thank you for your comment.
This comment was minimized by the moderator on the site
tarihi seçebiliyorum ama a1:a10 hücrelerine seçtiğim tarih eklenmiyor. teşekkür ederim
This comment was minimized by the moderator on the site
Hello everyone,

Can anyone tell me how to popup a calendar in a range of cells, but starting only from the cell right bellow a table header and down bellow in an excel column.


Thank you in advance.
This comment was minimized by the moderator on the site
Use i.e: Range("B6:C30")
This comment was minimized by the moderator on the site
Good Day,
Sorry I didn't got your question. Would be nice if you could provide screenshot of what you are trying to do.
This comment was minimized by the moderator on the site
Use i.e: Range("B6:C30")
This comment was minimized by the moderator on the site
i used these VBA codes and everthing's fine so far. The range is A2:A10 and calendar pops up when you select a cell into it. But if you mark row from 2 to 10 again the calendar pops again. It's the same with column "A" if you mark it, again the calendar pops. How should i proceed, in order to get the calendar only in the range i've defined?
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations