Что такое VBA DateSerial?

Функция VBA DATESERIAL является встроенной в Excel. Функция DATESERIAL возвращает дату с указанием значения года, месяца и дня. Скажем, например, если сегодняшняя дата - 18 июля 2019 года. Некоторые пользователи могут записать ее как 18 июля 19 или 18 июля. Форматы для дат могут быть разными для нескольких пользователей. Это дает нам утомительную задачу работы с большим количеством дат в разных форматах.

Как указано в заявлении о проблеме, формат для дат может быть разным для нескольких пользователей. Именно здесь в VBA приходит функция последовательной даты. Это очень хорошая функция - создавать собственную дату со значениями, которые мы определяем. Дайте нам знать об этой функции подробно. Функция DateSerial в VBA - это функция даты и времени, поэтому возвращаемое значение для этой функции - DATE. Метод использования синтаксиса для этой функции будет следующим.

Синтаксис VBA DateSerial

Синтаксис для функции VBA DateSerial в Excel выглядит следующим образом:

Требуется три аргумента: год, месяц и день.

  • Год: допустимый диапазон для этой части аргумента в функции составляет 100-9999. Тип данных для аргумента должен быть целым числом.
  • Месяц: допустимый диапазон для этой части аргумента в функции от 1 до 12. Тип данных для аргумента должен быть целым числом.
  • День: допустимый диапазон для этой части аргумента в функции от 1 до 31. Тип данных для аргумента должен быть целым числом.

Но вот классная часть этой функции. Если мы предоставляем аргумент выше принятого диапазона, функция не возвращает ошибку, а вычисляет дальнейшую часть диапазона и отображает дату. Например, если я введу данные в виде серийных дат (2019, 14, 02), теперь мы знаем, что в году может быть только 12 месяцев, но я привел 14 в качестве аргумента. Функция не будет возвращать ошибку, вместо этого она добавит два дополнительных месяца в текущем году, поэтому результат будет 2020-02-02.

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

Мы научимся использовать функцию VBA DateSerial с несколькими примерами в Excel.

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

Давайте проверим эту функцию на нескольких примерах, которые прояснят нам ситуацию.

Пример № 1 - VBA DateSerial

Давайте сначала предоставим простую дату переменной, используя последовательную функцию date, и посмотрим, что мы получим.

Шаг 1. Прежде чем мы начнем с наших примеров, сначала убедитесь, что включена вкладка разработчика, а затем перейдите в раздел кода, чтобы открыть редактор VB, нажав Visual Basic, как показано на рисунке ниже.

Шаг 2: В появившемся окне нажмите на вкладку «Вставка», чтобы вставить модуль. Мы будем работать в одном модуле для всех наших примеров.

Шаг 3: Запустите подпроцедуру следующим образом и объявите переменную как тип данных даты.

Код:

 Sub Sample () Dim Dt As Дата Конец Sub 

Шаг 4: Теперь давайте предоставим дату переменной, используя последовательную функцию date.

Код:

 Sub Sample () Dim Dt As Date Dt = DateSerial (2019, 7, 2) Конец Sub 

Шаг 5: Показать значение, хранящееся в нашей переменной, используя функцию msgbox.

Код:

 Sub Sample () Dim Dt As Date Dt = DateSerial (2019, 7, 2) MsgBox Dt End Sub 

Шаг 6: Когда мы выполняем приведенный выше код, мы получаем следующий результат.

Пример № 2 - VBA DateSerial

Теперь давайте проверим теорию, которую мы обсуждали выше во введении, что если мы предоставим значения помимо принятого диапазона, и функция вычислит дату для нас.

Шаг 1: В том же модуле запустите еще одну подпроцедуру следующим образом.

Код:

 Sub Sample1 () End Sub 

Шаг 2: Теперь определите переменную с типом данных date.

Код:

 Sub Sample1 () Dim Dt As Дата Конец Sub 

Шаг 3: Давайте предоставим входные данные для переменной DT, используя последовательную функцию даты, как показано ниже.

Код:

 Sub Sample1 () Dim Dt As Date Dt = DateSerial (2019, 14, 2) Конец Sub 

Шаг 4: Показать значение, сохраненное в переменной Dt, используя функцию msgbox.

Код:

 Sub Sample1 () Dim Dt As Date Dt = DateSerial (2019, 14, 2) MsgBox Dt End Sub 

Шаг 5: Теперь выполните приведенный выше код и посмотрите на результат ниже, как показано ниже.

Мы видим, что год был изменен, поскольку мы предоставили два дополнительных месяца на споры. По сути, эта функция добавила 14 месяцев к 2019 году, который дал нам второй месяц 2020 года и 2- ую дату.

Пример № 3 - VBA DateSerial

В приведенных выше примерах мы приводили аргументы в общем виде даты. Но мы обсудили, как пользователи могут вводить абсурдные значения в разделе даты в качестве формата, так как запись даты отличается от человека к человеку. В этом примере мы сравним два формата даты, используя функцию последовательной даты.

Шаг 1: В том же модуле определите другую подпроцедуру следующим образом для третьего примера.

Код:

 Sub Sample2 () End Sub 

Шаг 2: В этом сценарии определите две переменные как даты, как показано ниже.

Код:

 Sub Sample2 () Dim Dt1, Dt2 As Sub End Sub 

Шаг 3: Теперь в переменной First давайте предоставим дату в простой регулярной форме, используя функцию dateserial.

Код:

 Sub Sample2 () Dim Dt1, Dt2 As Date Dt1 = DateSerial (2019, 12, 31) Конец Sub 

Шаг 4: Теперь для второй переменной давайте предоставим дату нерегулярным способом, используя функцию dateserial, как показано ниже.

Код:

 Sub Sample2 () Dim Dt1, Dt2 As Date Dt1 = DateSerial (2019, 12, 31) Dt2 = DateSerial (19, 12, 31) End Sub 

Шаг 5: Теперь напечатайте оба этих значения, используя функцию msgbox.

Код:

 Sub Sample2 () Dim Dt1, Dt2 As Date Dt1 = DateSerial (2019, 12, 31) Dt2 = DateSerial (19, 12, 31) MsgBox Dt1 & "" & Dt2 End Sub 

Шаг 6: Выполните приведенный выше код, чтобы найти следующий результат, показанный ниже.

Мы видим, что обе даты совпадают. Двузначный год 19 интерпретируется как 2019.

То, что нужно запомнить

  • Это функция даты и времени, поэтому выходные данные находятся в дате.
  • Если значение, предоставленное функции, превышает допустимый диапазон функции, она автоматически вычисляет дату, а не выдает ошибку.
  • Если значения, предоставленные аргументам, больше, чем значение, которое может содержать целое число, функция возвращает ошибку.

Рекомендуемые статьи

Это руководство по VBA DateSerial. Здесь мы обсудим, как использовать функцию Excel VBA DateSerial вместе с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи -

  1. VBA InStr объяснил с помощью примеров
  2. Целочисленный тип данных VBA
  3. VBA ISNULL объяснено с примерами
  4. Формат даты VBA (примеры)

Категория: