Какво е VBA DateSerial?

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

Тъй като декларацията за проблем, дефинирана по-горе, форматът за дати може да бъде различен за множество потребители. Това е мястото, където серийната функция за дата идва в 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

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

Стъпка 1: Преди да започнем с нашите примери, първо се уверете, че е активиран раздела на програмист и след това преминете към секцията с кодове, за да отворите редактора на VB, като щракнете върху Visual Basic, точно както е показано на изображението по-долу.

Стъпка 2: От показания по-горе прозорец щракнете върху раздела Вмъкване, за да вмъкнете модул. Ще работим в един и същ модул за всички наши примери.

Стъпка 3: Инициирайте подпроцедура по следния начин и декларирайте променлива като тип данни за дата.

Код:

 Sub Sample () Dim Dt като дата на края Sub 

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

Код:

 Sub Sample () Dim Dt As Date Dt = DateSerial (2019, 7, 2) Край Sub 

Стъпка 5: Показване на стойността, съхранена в нашата променлива, използвайки функцията msgbox.

Код:

 Подпроба () Dim Dt като дата Dt = DateSerial (2019, 7, 2) MsgBox Dt End Sub 

Стъпка 6: Когато изпълним горния код, получаваме следния резултат.

Пример №2 - VBA DateSerial

Сега нека да тестваме теорията, която обсъдихме по-горе във въвеждането, че ако предоставим стойностите освен приетия диапазон и функцията изчислява датата за нас.

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

Код:

 Sub Sample1 () Край Sub 

Стъпка 2: Сега дефинирайте променлива с типа данни за дата.

Код:

 Sub Sample1 () Dim Dt As Date End 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 г. и втората дата.

Пример №3 - VBA DateSerial

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

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

Код:

 Sub Sample2 () Край Sub 

Стъпка 2: В този сценарий дефинирайте две променливи като дати, както е показано по-долу.

Код:

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

Стъпка 3: Сега в първата променлива нека да предоставим дата по обикновен обикновен начин, използвайки функцията dateserial.

Код:

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

Стъпка 4: Сега за втората променлива нека да предоставим дата по неправилен начин, използвайки функцията за серийно извеждане на данни, както е показано по-долу.

Код:

 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 година.

Неща, които трябва да запомните

  • Това е функция за дата и час, така че изходът е в Date.
  • Ако стойността, предоставена на функцията, е над приетия диапазон на функцията, тя автоматично изчислява датата, вместо да дава грешка.
  • Ако стойностите, предоставени на аргументите, са по-големи от стойността, която може да има цяло число, тогава функцията връща грешка.

Препоръчителни статии

Това е ръководство за VBA DateSerial. Тук обсъждаме как да използвате Excel VBA DateSerial Function, заедно с практически примери и шаблон за Excel за изтегляне. Можете да разгледате и другите ни предложени статии -

  1. VBA InStr обясни с примери
  2. Тип данни на VBA Integer
  3. VBA ISNULL Обяснено с примери
  4. Формат за дата на VBA (примери)

Категория: