Excel VBA DateSerial Функция
Функцията DateSerial във VBA връща датата от стойностите, предоставени от потребителите. Трябва да предоставим каква е годината, какво е денят и какво е месецът. Резултатът ще се основава на формата на датата на вашата система.
По-долу е синтаксисът на функцията DATESERIAL .

# 1 - Година: трябва да въведем цяло число като каква е годината? Докато предоставяме цели числа, трябва да имаме предвид нещата.
- Можем да предоставим номера от 0 до 9999.
- Едно и двуцифрени числа от 0 до 99 ще бъдат третирани от 1930 до 2029.
- Отрицателното цяло число ще бъде извадено от 2000 година. Например, ако предоставите -1, резултатът ще бъде 1999 поради 2000 - 1 = 1999.
# 2 - Месец: трябва да въведем цялото число, какъв е месецът? Докато въвеждаме този номер, трябва да имаме предвид нещата по-долу.
- Можем да доставим номера само от 1 до 12.
- Ако предоставената цяло число е 0, това ще представлява месец „Декември“ на предходната година.
- Ако предоставената цяло число е -1, това ще представлява месец „ноември“ на предходната година. По този начин, когато отрицателната стойност се увеличи, тя ще продължи да представлява обратната година в месеца.
- Ако предоставеното число е повече от 12, т.е., ако числото е 13, това ще представлява месец „януари“ на следващата година. Ако числото е 14, то ще се третира като месец „февруари“ на следващата година.
# 3 - Ден: трябва да въведем цялото число, какъв е денят? Докато въвеждаме този номер, трябва да имаме предвид нещата по-долу.
- Можем да въведем цели числа от 1 до 31 за текущите месечни дни.
- Ако числото е 0, то ще представлява последния ден от предходния месец.
- Ако числото е -1, то ще представлява втория последен ден от предходния месец.
- Ако предоставите на последния ден от този месец +1, това ще представлява първия ден на следващия месец. Например, ако последният ден на август е 31 и ако посочите деня като 31 + 1, той ще представлява първия ден на септември.
Как да използвам функцията DATESERIAL във VBA?
Пример # 1
За да използвате функцията DATESERIAL, започнете да пишете кода на макроса.
Стъпка 1: Започнете подпроцедура
Първо създайте VBA подпроцедура, както е показано по-долу.

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

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

Стъпка 4: Сега въведете стойностите за година, месец и ден във функцията DateSerial
За ГОДИНА доставка 2019, за МЕСЕЦ доставка 08, и за ДЕН доставка 05.

Стъпка 5: Показване на резултата в полето за съобщения
Сега покажете резултата от променливата „Моята дата“ в полето за съобщение.
Код:
Опция Изрично Sub DateSerial_Example1 () Dim Mydate As Date Mydate = DateSerial (2019, 8, 5) MsgBox Mydate End Sub

Стъпка 6: Стартирайте кода
Сега стартирайте този код, за да видите по-долу датата.

Резултатът казва „5/8/2019“. В моя системен формат форматът е под формата на „ММ-ДД-ГГГГ“, така че резултатът също е в същия формат.
Също така можем да променим формата на датата, като използваме функцията FORMAT във VBA. Приложете функцията FORMAT, както по-долу.
Код:
Опция Изрично Sub DateSerial_Example1 () Dim Mydate As Date Mydate = DateSerial (2019, 8, 5) MsgBox Format (Mydate, "DD-MMM-YYYY") End Sub
Това ще приложи формата в „ДД-МММ-ГГГГ“ и резултатът е както следва.

Пример # 2
Също така можем да декларираме променливи и да предоставим стойностите на тези променливи. Например погледнете кода по-долу.
Код:
Sub DateSerial_Example2 () Dim Mydate As Date Dim MyYear As Integer Dim MyMonth As Integer Dim MyDay As Integer MyYear = 2019 MyMonth = 8 MyDay = 5 Mydate = DateSerial (MyYear, MyMonth, MyDay) MsgBox Format (MyDate, "DD-MMYMYMMYDATE," DD-MMYMYMMYDATE, "DD-MMYMYMYMAT," DD-MMY ") Крайна под
Instead of supplying year, month, and day directly to the DATESERIAL function, we have declared variables and assigned values to them. Then later, we have supplied variables to the DATESERIAL function.
This is how we can make use of variables in VBA to store values.
Example #3
Now we will experiment with the year. I will assign the year value as 1 and see the result.

Single & Double-digit numbers in YEAR represents a year from 1930 to 2029. So 01 means 2001, 02 means 2002, and so on.
Now let’s change the month number to 0 and see the result.

Look at the code here, Year is 2019, and the month is 0. But look at the result it says 05-Dec-2019, whereas a supplied year is 2019 it says 2018 i.e., the previous year.
Това е така, защото тъй като сме предоставили месеца като 0 DATESERIAL функцията отвежда месеца до последния месец на предходната година и съответно променя годината.
По този начин опитайте различни числа, за да видите въздействието на функцията.
Неща за запомняне
- Трябва да знаете кое число представлява коя година, месец и детска градина. Прочетете внимателно обяснението на синтаксиса, за да разберете.
- Резултатът ще се основава на формата на датата на вашата система. Ако искате модифициран резултат, трябва да приложите функцията FORMAT, като посочите формата на датата според вашето удобство.