Избор на дата на Excel - Как да вмъкнете инструмент за избор на дата (календар) в Excel?

Как да вмъкнете инструмента за избор на дата в Excel?

За да вмъкнем падащ календар, ще използваме ActiveX Control, който е „Microsoft Date and Time Picker Control 6.0 (SP6)“ .

Да предположим, че трябва да поддържаме данни за служители на компания. Има няколко полета като

  • Emp код
  • Име на Emp
  • Дата на присъединяване към Emp
  • Emp отдел

За да въведем данни в MS Excel, създадохме следния формат.

За да въведем дата за присъединяване на Emp, трябва да създадем падащ календар, за да е по-лесно за потребителя да въведе дати за присъединяване.

За да създадете падащ календар, стъпките са дадени по-долу -

Трябва да вмъкнем „ActiveX контрола“, наречена „Microsoft Date and Time Picker Control 6.0 (SP6)“ . За да вмъкнем, ще използваме командата „Вмъкване“ под групата „Контроли“ в „Програмист“.

Ако раздела „Разработчик“ не се вижда, по-долу са стъпките, които трябва да следвате, за да направите същото видимо.

  • Стъпка 1: В менюто „Файл“ изберете „Опции“
  • Стъпка 2: Ще се отвори диалогов прозорец с име „Опции на Excel“ . Изберете „Персонализиране на лентата“ от левия край на диалоговия прозорец. Поставете отметка в раздела „Разработчик“ и кликнете върху „ОК“.
  • Стъпка 3: Сега можем да видим раздела „Разработчик“ в последната част на лентата.
  • Стъпка 4: Изберете „Още контроли“ от ActiveX контроли.
  • Стъпка 5: Изберете „Microsoft Control Date and Time Picker Control 6.0 (SP6)“ от списъка и кликнете върху „OK“.
  • Стъпка 6: Щракнете навсякъде на работния лист, за да създадете падащия календар.
  • Стъпка 7: Щракнете с десния бутон върху Избор на дата“ и изберете „Properties“ от списъка.
  • Стъпка 8: Променете стойността от „False“ на „True“ за свойството „CheckBox“, така че да могат да бъдат приети и нулеви стойности. Затворете диалоговия прозорец Свойства“.
  • Стъпка 9: Щракнете с десния бутон отново върху Избор на дата и изберете „Преглед на кода“ от контекстното меню.
  • Стъпка 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
  • Стъпка 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.

We need to click on any date in the calendar in the selected month to enter that date in the selected cell.

We can change month to previous or next using the arrow button placed at the left and right side of the calendar.

We can also click on the month to choose a month from the drop-down.

We can also change year by clicking on year and then using up and down arrows to choose the required one.

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 няма да работи.

Интересни статии...