VBA DateValue | Как да използвам функцията DateValue в Excel VBA?

Какво представлява функцията VBA DateValue?

Функцията DateValue е вградена функция в Excel VBA под категорията функция Дата / час. Той работи както като функция на VBA, така и като работен лист във vba. Тази функция връща серийния номер или стойността на Date, предоставени във формата за представяне на низове, като се игнорира информацията за времето, предоставено от низ от дата. Той се използва по два различни начина в Excel. Тази функция се използва като формула на работен лист, влизаща в клетка на работен лист. Той се използва като макрокод в приложението VBA, въвеждайки го чрез Visual Basic Editor, свързан с Microsoft Excel.

В тази статия ще научим примери за VBA DATEVALUE и как да го използваме с ясно обяснение.

Обяснение на функцията VBA Datevalue

Във VBA DATEVALUE използва следния синтаксис.

Тази функция използва само един аргумент или параметър

  • Дата : Това е датата, представена във формата на низове
  • Връща: Тази функция връща стойността на датата, когато се използва като VBA функция. Той връща стойността на датата, когато се използва като функция на работен лист

Функцията VBA DateValue може да интерпретира данни, представени в текстов формат, който е споменат в валиден формат на Excel. Не може да върне стойността на датата, ако низът включва текстовото представяне на делничния ден.

Предимствата на функцията VBA DateValue са извличане на стойност на датата от низ и конвертиране на дата с време в единствената дата. Можем просто, че когато датата е дадена с време, тази функция само стойност на датата избягва стойността на времето.

Как да използвам Excel VBA DATEVALUE?

За да използвате функцията DateValue в Excel, първо трябва да отворите редактора на VBA.

Командният бутон трябва да бъде поставен в работния лист на Excel, за да добавите към него редовете на програма VBA. За да приложи редовете на програмата, потребителят трябва да щракне върху командния бутон в Excel лист. За да има валиден изход от програмата, валиден вход се дава чрез аргумента. Например, следният код помага за създаването на макрос за изпълнение на функцията DateValue за извличане на стойността на датата от текста във VBA.

VBA програма: 

 Бутон за суб дата () Затъмняване на myDate като дата myDate = DateValue („15 август 1991 г.) MsgBox Дата (myDate) Край Sub 

Този код води до датата като 15 от дадения вход.

Примери за Excel VBA DATEVALUE

По-долу са примерите за DateValue в Excel VBA.

Можете да изтеглите този шаблон на VBA DateValue Excel тук - VBA DateValue Excel шаблон

Пример # 1 - Получаване на ден, месец и година от дата

Следват се няколко стъпки за създаване и изпълнение на програмата във VBA. Те включват

Стъпка 1: Отидете в раздела за програмисти, поставете курсора върху клетка в листа на Excel и щракнете върху опцията „Вмъкване“ и изберете „Команден бутон“ под ActiveX Control, както е показано на фигурата.

Плъзнете бутона, където искате и дайте надпис като бутон Дата от прозореца за свойства.

Стъпка 2: Щракнете двукратно върху бутона, който ще пренасочи към проект VBA и напишете кода между командния бутон Private Sub и крайния sub.

Кодът трябва да бъде разработен по-долу, за да получите дата, месец и година.

Код:

 Частен Subbutton1_Click () Затъмняване на примерната дата като дата Exampledate = DateValue ("19 април 2019 г.") MsgBox Дата MsgBox Година (Exampledate) MsgBox Месец (Exampledate) Край Sub 

В този код Datebutton1_Click () е името и примерната дата са променливи с тип данни Date и Msgbox за показване на изхода.

Стъпка 3: Докато се разработва код, ще възникнат грешки при несъответствие тип vba и трябва да се погрижи за тях.

Стъпка 4: В тази стъпка стартирайте програмата, като щракнете върху опцията за изпълнение.

Или можем да проверим или отстраним грешките на програмата стъпка по стъпка, като изберем опцията Стъпка в менюто за отстраняване на грешки. Ако нашият код е без никакви грешки, той показва изхода.

Стъпка 5 : Когато програмата се изпълни, тя първо показва полето за съобщение с датата, посочена при въвеждане на текст. След това кликнете върху OK, за да видите отново годишната стойност, щракнете върху OK в полето за съобщение, за да видите месечната стойност.

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

Пример # 2 - Използване на DatePart, за да получите различните части на датата

Стъпка 1: Отидете в раздела за програмисти на Excel, поставете курсора върху клетка в листа на Excel и щракнете върху опцията "Вмъкване" и изберете "Команден бутон" под ActiveX Control, както е показано на фигурата.

Стъпка 2: Плъзнете бутона и дайте надписа като DatePart под свойства.

Щракнете двукратно върху този бутон, той насочва към редактора на Visual Basic и се показва, както следва.

Стъпка 3: Разработете кода, като използвате DatePart с DateValue, както е показано на фигурата.

Код:

 Private Sub Datepart1_Click() Dim partdate As Variant partdate = DateValue("8/15/1991") MsgBox partdate MsgBox Datepart("yyyy", partdate) MsgBox Datepart("dd", partdate) MsgBox Datepart("mm", partdate) MsgBox Datepart("q", partdate) End Sub 

In this program, DatePart1 is the macro name and partDate is argument name with data type ‘variant’. For displaying year, date, month, and a quarter, the format is applied as “yyyy”, “d”, “m”, and “q”. If we do any mistake in the format it displays the following error.

Step 4: After successful debugging of program, run the program by clicking on the run button use excel shortcut key F5.

The code first displays the full date then after clicking every OK from the msgbox, it shows the year value after that Date value, Month Value, Quater Value respectively.

Things to Remember About the VBA DATEVALUE

The following things must be remembered while using the DateValue function in Excel VBA

  • Run time error 13 with message Type Mismatch is displayed when the date provided to the DateValue function is not able to convert into a valid date. We need date is proper text format
  • When we try to get the only date from the string argument with code ‘msgbox date (argument name)’, it displays the type mismatch error.
  • We can see the output of the DateValue function without opening the VBA editor. It is done by clicking the command button and select the macro created for the respective program
  • When DatePart is used to get the values, the appropriate format should be followed. Otherwise, it leads ‘run time error 5’ with message invalid procedure call or argument.