Как да вмъкнете инструмента за избор на дата в Excel?
За да вмъкнем падащ календар, ще използваме ActiveX Control, който е „Microsoft Date and Time Picker Control 6.0 (SP6)“ .
Да предположим, че трябва да поддържаме данни за служители на компания. Има няколко полета като
- Emp код
- Име на Emp
- Дата на присъединяване към Emp
- Emp отдел
За да въведем данни в MS Excel, създадохме следния формат.
![](https://cdn.know-base.net/5257627/excel_date_picker_how_to_insert_date_picker_calendar_in_excel__2.png.webp)
За да въведем дата за присъединяване на Emp, трябва да създадем падащ календар, за да е по-лесно за потребителя да въведе дати за присъединяване.
За да създадете падащ календар, стъпките са дадени по-долу -
Трябва да вмъкнем „ActiveX контрола“, наречена „Microsoft Date and Time Picker Control 6.0 (SP6)“ . За да вмъкнем, ще използваме командата „Вмъкване“ под групата „Контроли“ в „Програмист“.
Ако раздела „Разработчик“ не се вижда, по-долу са стъпките, които трябва да следвате, за да направите същото видимо.
- Стъпка 1: В менюто „Файл“ изберете „Опции“
![](https://cdn.know-base.net/5257627/excel_date_picker_how_to_insert_date_picker_calendar_in_excel__3.png.webp)
- Стъпка 2: Ще се отвори диалогов прозорец с име „Опции на Excel“ . Изберете „Персонализиране на лентата“ от левия край на диалоговия прозорец. Поставете отметка в раздела „Разработчик“ и кликнете върху „ОК“.
![](https://cdn.know-base.net/5257627/excel_date_picker_how_to_insert_date_picker_calendar_in_excel__4.png.webp)
- Стъпка 3: Сега можем да видим раздела „Разработчик“ в последната част на лентата.
![](https://cdn.know-base.net/5257627/excel_date_picker_how_to_insert_date_picker_calendar_in_excel__5.png.webp)
- Стъпка 4: Изберете „Още контроли“ от ActiveX контроли.
![](https://cdn.know-base.net/5257627/excel_date_picker_how_to_insert_date_picker_calendar_in_excel__6.png.webp)
- Стъпка 5: Изберете „Microsoft Control Date and Time Picker Control 6.0 (SP6)“ от списъка и кликнете върху „OK“.
![](https://cdn.know-base.net/5257627/excel_date_picker_how_to_insert_date_picker_calendar_in_excel__7.png.webp)
- Стъпка 6: Щракнете навсякъде на работния лист, за да създадете падащия календар.
![](https://cdn.know-base.net/5257627/excel_date_picker_how_to_insert_date_picker_calendar_in_excel__8.png.webp)
- Стъпка 7: Щракнете с десния бутон върху „ Избор на дата“ и изберете „Properties“ от списъка.
![](https://cdn.know-base.net/5257627/excel_date_picker_how_to_insert_date_picker_calendar_in_excel__9.png.webp)
- Стъпка 8: Променете стойността от „False“ на „True“ за свойството „CheckBox“, така че да могат да бъдат приети и нулеви стойности. Затворете диалоговия прозорец „ Свойства“.
![](https://cdn.know-base.net/5257627/excel_date_picker_how_to_insert_date_picker_calendar_in_excel__10.png.webp)
- Стъпка 9: Щракнете с десния бутон отново върху Избор на дата и изберете „Преглед на кода“ от контекстното меню.
![](https://cdn.know-base.net/5257627/excel_date_picker_how_to_insert_date_picker_calendar_in_excel__11.png.webp)
- Стъпка 10: В „Редактор на Visual Basic“ можем да видим, че някакъв код вече е написан. Заменете кода със следния код.
Код:
Private Sub Worksheet_SelectionChange (ByVal Target As Range) With Sheet1.DTPicker1 .Height = 20 .Width = 20 If Not Intersect (Target, Range ("C: C")) Няма нищо тогава .Visible = True .Top = Target.Top. Left = Target.Offset (0, 1) .Left .LinkedCell = Target.Address Else .Visible = False End If End With End Sub
![](https://cdn.know-base.net/5257627/excel_date_picker_how_to_insert_date_picker_calendar_in_excel__12.png.webp)
- Стъпка 11: Първият израз в кода казва на MS Excel Compiler да стартира кода, когато е избрана нова клетка (Изборът е променен). Избраната клетка се изпраща на процедурата Sub като „Target“.
Частен подработен работен лист_Избор на промяна (ByVal Target As Range)
- Стъпка 12: Тези изявления задават височината и ширината на инструмента за избор на дата на 20 точки в Excel. Може да се забележи, че сме използвали оператора „With“ , така че не е необходимо да се позоваваме на DTPicker1 отново и отново.
С Sheet1.DTPicker1 .Height = 20 .Width = 20
- Стъпка 13: Следващата клауза „Ако“ задава критериите, че ако в клетката „С“ е избрана някоя клетка , само тогава инструментът за избор на дата получава видимост. Използвахме функцията „Intersect“, тъй като тази функция проверява дали сме избрали някоя клетка в колоната C, след което тази функция ще върне адреса; в противен случай стойността ще бъде нула.
If Not Intersect (Target, Range ("C: C")) Нищо не е тогава. Видимо = Вярно
- Стъпка 14: Свойството „Top“ на инструмента за избор на дата е равно на стойността на свойството „Top“ на избраната клетка. Това означава, че това ще върви заедно с горната граница на избраната клетка.
.Top = Target.Top
- Стъпка 15: Този оператор задава лявото свойство на инструмента за избор на дата като равно на това на следващата дясна клетка на избраната клетка (Разстояние от лявата граница на колоната D от крайната лява част на работния лист). За да получим препратката към следващата дясна клетка, използвахме функцията „Offset“ с 0 като аргумент на ред и 1 като аргумент на колона, тъй като това ще получи препратка към клетката в следващата колона.
.Left = Target.Offset (0, 1) .Left
- Стъпка 16: Това изявление свързва инструмента за избор на дата с клетката Target, така че която и да е стойност е избрана в падащия календар, който се показва в клетката.
.LinkedCell = Target.Address
- Стъпка 17: Операторът „Else“ казва на компилатора да не показва инструмента за избор на дата, когато е избрана която и да е клетка, с изключение на тази в колоната C.
Else .Visible = False
- Стъпка 18: В крайна сметка затваряме „Ако“.
Край ако
- Стъпка 19: Най-накрая трябва да затворим „С“.
Край с
- Стъпка 20: Сега, Подпроцедурата ще приключи.
Крайна под
Уверете се, че запазваме файла с разширението '.xlsm', тъй като запазва написания от нас код VBA, и ще можем да стартираме този код, когато в клетката C е избрана която и да е клетка.
Now, whenever we select any cell in the ‘C’ column, we can see a drop-down calendar at the top right corner of the selected cell. We can open the drop-down calendar by clicking on the down arrow symbol.
![](https://cdn.know-base.net/5257627/excel_date_picker_how_to_insert_date_picker_calendar_in_excel__13.png.webp)
We need to click on any date in the calendar in the selected month to enter that date in the selected cell.
![](https://cdn.know-base.net/5257627/excel_date_picker_how_to_insert_date_picker_calendar_in_excel__14.png.webp)
We can change month to previous or next using the arrow button placed at the left and right side of the calendar.
![](https://cdn.know-base.net/5257627/excel_date_picker_how_to_insert_date_picker_calendar_in_excel__15.png.webp)
We can also click on the month to choose a month from the drop-down.
![](https://cdn.know-base.net/5257627/excel_date_picker_how_to_insert_date_picker_calendar_in_excel__16.png.webp)
We can also change year by clicking on year and then using up and down arrows to choose the required one.
![](https://cdn.know-base.net/5257627/excel_date_picker_how_to_insert_date_picker_calendar_in_excel__17.png.webp)
Things to Remember
- ‘Microsoft Date and Time Picker Control 6.0 (SP6)’ is not available for the 64-bit version of MS Excel.
- След като напишем кода на VBA, трябва да запазим файла с разширение '.xlsm' (Excel Macro-Enabled Workbook); в противен случай кодът на VBA няма да работи.