Note: The other languages of the website are Google-translated. Back to English
Увійти  \/ 
x
or
x
Реєстрація  \/ 
x

or

Як спливати календар при натисканні певної комірки в 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-денну) пробну програму, натисніть, щоб завантажити, а потім перейдіть до застосування операції, як описано вище.


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


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

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

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

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

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Pete · 1 years ago
    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.
  • To post as a guest, your comment is unpublished.
    Hannah · 2 years ago
    The calendar will show up but when I click on the date, the cell doesn't populate
    • To post as a guest, your comment is unpublished.
      crystal · 2 years ago
      Hi,
      The code works well in my case. Which Excel version are you using?
  • To post as a guest, your comment is unpublished.
    DwarthK · 2 years ago
    Thank you so much! These directions were super useful :)
  • To post as a guest, your comment is unpublished.
    jeet · 2 years ago
    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?
    • To post as a guest, your comment is unpublished.
      crystal · 2 years ago
      Hi jeet,
      Follow the steps and replace the range "A2:A10" in the second VBA code with your column range (such as C2:E2).
  • To post as a guest, your comment is unpublished.
    Giuseppe · 3 years ago
    Salve il codice funziona benissimo, ma se volessi farlo funzionare anche su un altro foglio
  • To post as a guest, your comment is unpublished.
    Sam · 3 years ago
    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
    • To post as a guest, your comment is unpublished.
      crystal · 2 years ago
      Hi Sam,
      The code has been updated in the article with the problem solving. Please have a try and thank you for your comment.
  • To post as a guest, your comment is unpublished.
    cevat · 3 years ago
    tarihi seçebiliyorum ama a1:a10 hücrelerine seçtiğim tarih eklenmiyor. teşekkür ederim
  • To post as a guest, your comment is unpublished.
    MG · 4 years ago
    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.
    • To post as a guest, your comment is unpublished.
      Chris · 3 years ago
      Use i.e: Range("B6:C30")
    • To post as a guest, your comment is unpublished.
      crystal · 4 years ago
      Good Day,
      Sorry I didn't got your question. Would be nice if you could provide screenshot of what you are trying to do.
      • To post as a guest, your comment is unpublished.
        Chris · 3 years ago
        Use i.e: Range("B6:C30")
  • To post as a guest, your comment is unpublished.
    George · 4 years ago
    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?
  • To post as a guest, your comment is unpublished.
    Sirimon · 4 years ago
    I want to show pop up calendar under the cell selected.How should I do?