VBA DateValue | Как использовать функцию DateValue в Excel VBA?

Что такое функция VBA DateValue?

Функция DateValue - это встроенная функция в Excel VBA в категории функции даты / времени. Он работает как функция VBA и функция рабочего листа в vba. Эта функция возвращает серийный номер или значение Date, предоставленное в формате строкового представления, игнорируя информацию времени, предоставленную строкой Date. В Excel он используется двумя разными способами. Эта функция используется как формула рабочего листа, вводимая в ячейку рабочего листа. Он используется как код макроса в приложении VBA, вводя его через редактор Visual Basic, связанный с Microsoft Excel.

В этой статье мы познакомимся с примерами VBA DATEVALUE и с четким объяснением, как его использовать.

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

В VBA DATEVALUE использует следующий синтаксис.

Эта функция использует только один аргумент или параметр.

  • Дата : это дата, представленная в строковом формате.
  • Returns: эта функция возвращает значение даты, когда она используется как функция VBA. Он возвращает значение даты, когда оно используется как функция рабочего листа

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

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

Как использовать Excel VBA DATEVALUE?

Чтобы использовать функцию DateValue в Excel, сначала необходимо открыть редактор VBA.

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

Программа VBA: 

 Sub Datebutton () Dim myDate As Date myDate = DateValue («15 августа 1991 г.») MsgBox Date (myDate) End Sub 

Этот код приводит к дате как 15 из заданного ввода.

Примеры Excel VBA DATEVALUE

Ниже приведены примеры DateValue в Excel VBA.

Вы можете скачать этот шаблон VBA DateValue Excel здесь - Шаблон VBA DateValue Excel

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

Для создания и выполнения программы в VBA необходимо выполнить несколько шагов. К ним относятся

Шаг 1. Перейдите на вкладку «Разработчик», поместите курсор в ячейку на листе Excel, нажмите «Вставить» и выберите «Командная кнопка» под элементом управления ActiveX, как показано на рисунке.

Перетащите кнопку в нужное место и задайте заголовок в виде кнопки «Дата» в окне свойств.

Шаг 2: Дважды щелкните кнопку, которая перенаправит вас в проект VBA, и напишите код между командной кнопкой Private Sub и концом Sub.

Чтобы получить дату, месяц и год, код должен быть разработан, как показано ниже.

Код:

 Private Sub Datebutton1_Click () Dim Exampledate As Date Exampledate = DateValue ("April 19,2019") MsgBox Date MsgBox Year (Exampledate) MsgBox Month (Exampledate) End Sub 

В этом коде Datebutton1_Click () - это имя, а exampledate - это переменная с типом данных Date и Msgbox для отображения вывода.

Шаг 3. При разработке кода будут возникать ошибки несоответствия типов vba, о которых необходимо позаботиться.

Шаг 4: На этом шаге запустите программу, нажав на опцию запуска.

Или мы можем проверить или отладить программу шаг за шагом, выбрав опцию Step Into в меню Debug. Если наш код не содержит ошибок, он отображает результат.

Шаг 5 : Когда программа выполняется, она сначала отображает окно сообщения с датой, указанной в текстовом поле. Затем нажмите OK, чтобы снова увидеть значение года, нажмите OK в окне сообщения, чтобы увидеть значение месяца.

Примечание: эти шаги необходимо четко выполнять, чтобы получить точные результаты.

Пример # 2 - Использование DatePart для получения различных частей даты

Шаг 1. Перейдите на вкладку Excel Developer, поместите курсор в ячейку на листе Excel, нажмите «Вставить» и выберите «Command Button» в 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.