Прескочи на основното съдържание

Как да изскоча календар, когато щракнете върху конкретна клетка в Excel?

Автор: Силувия Последна промяна: 2021-01-27

Да предположим, че има диапазон от колони в работен лист, който трябва често да въвеждате и променяте дати вътре, но е скучно да въвеждате или променяте дата ръчно всеки път. Как бързо да въвеждате дати, без да въвеждате ръчно в диапазона на колоните? Тази статия говори за изскачане на календар при щракване върху клетки в определен диапазон, след което автоматично вмъкване на дата в избраната клетка след избиране на дата в календара.


Изскачащ календар, когато щракнете върху конкретна клетка с VBA код

Моля, решете този проблем, както следва стъпка по стъпка.

Забележка: Този метод може да работи само на Microsoft Excel 32-bit.

Стъпка 1: Създайте UserForm с календар

Моля, създайте UserForm, който съдържа календара, който ще изскочите, като щракнете върху клетка.

1. Натиснете Друг + F11 клавиши едновременно, за да отворите Microsoft Visual Basic за приложения прозорец.

2. В Microsoft Visual Basic за приложения прозорец, кликнете Поставете > Потребителски формуляр.

3. След това a Потребителски формуляр и Toolbox изскачат прозорци, в Toolbox, щракнете върху която и да е контрола и щракнете с десния бутон, след което изберете Допълнителни контроли от менюто с десен бутон. Вижте екранна снимка:

4. В Допълнителни контроли диалогов прозорец, превъртете надолу, за да проверите Контрол на Microsoft MonthView опция в Налични контроли и след това щракнете върху OK бутон.

5. След това можете да видите MonthView бутон се добавя в Toolbox прозорец. Моля, щракнете върху този бутон 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. кликване Kutools > съдържание > Активиране на инструмента за избор на дата.

2. След като активирате тази функция, щракнете върху клетка с дата и иконата на календар ще изскочи точно до клетката.

3. Щракнете върху иконата на календара, за да отворите Избор на дата диалогов прозорец и след това щракнете върху нова дата, за да замените датата в избраната клетка.

Забележки:

  • Бутон за отмяна: Щракнете върху този бутон, за да отмените замяната на дата;
  • Бутон Затваряне: Щракнете върху този бутон, за да затворите диалоговия прозорец Избор на дата;
  • Тази функция може да се прилага само за клетки, съдържащи дата.

  Ако искате да имате безплатен пробен период (30 дни) на тази помощна програма, моля, щракнете, за да го изтеглитеи след това преминете към прилагане на операцията съгласно горните стъпки.


Свързани статии:

Най-добрите инструменти за продуктивност в офиса

🤖 Kutools AI помощник: Революционизирайте анализа на данни въз основа на: Интелигентно изпълнение   |  Генериране на код  |  Създаване на персонализирани формули  |  Анализирайте данни и генерирайте диаграми  |  Извикване на функциите на Kutools...
Популярни функции: Намерете, маркирайте или идентифицирайте дубликати   |  Изтриване на празни редове   |  Комбинирайте колони или клетки без загуба на данни   |   Кръг без формула ...
Супер търсене: VLookup с множество критерии    VLookup с множество стойности  |   VLookup в няколко листа   |   Размито търсене ....
Разширен падащ списък: Бързо създаване на падащ списък   |  Зависим падащ списък   |  Падащ списък с множество избори ....
Мениджър на колони: Добавете конкретен брой колони  |  Преместване на колони  |  Превключване на състоянието на видимост на скритите колони  |  Сравнете диапазони и колони ...
Препоръчани функции: Мрежов фокус   |  Изглед на дизайна   |   Голям формула бар    Мениджър на работни книги и листове   |  Библиотека с ресурси (Автоматичен текст)   |  Избор на дата   |  Комбинирайте работни листове   |  Шифроване/декриптиране на клетки    Изпращайте имейли по списък   |  Супер филтър   |   Специален филтър (филтър получер/курсив/зачертано...) ...
Топ 15 комплекта инструменти12 Текст Инструменти (добавяне на текст, Премахване на символи, ...)   |   50 + Графика Видове (диаграма на Гант, ...)   |   40+ Практичен формули (Изчислете възрастта въз основа на рождения ден, ...)   |   19 вмъкване Инструменти (Въведете QR код, Вмъкване на картина от пътя, ...)   |   12 Конверсия Инструменти (Числа към думи, Валутен обмен, ...)   |   7 Обединяване и разделяне Инструменти (Разширено комбиниране на редове, Разделени клетки, ...)   |   ... и още

Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел 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