Excel VBA datumska serijska funkcija
DateSerial funkcija u VBA vraća datum iz vrijednosti koje su dostavili korisnici. Moramo navesti što je godina, što dan, a što mjesec. Rezultat će se temeljiti na formatu datuma vašeg sustava.
Ispod je sintaksa funkcije DATESERIJAL .

# 1 - Godina: trebamo unijeti cijeli broj kao što je godina? Dok isporučujemo cjelobrojne brojeve, moramo imati na umu sljedeće stvari.
- Možemo isporučiti brojeve od 0 do 9999.
- Jednoznamenkasti brojevi od 0 do 99 tretirat će se od 1930. do 2029. godine.
- Negativni cijeli broj oduzet će se od 2000. godine. Na primjer, ako navedete -1, rezultat će biti 1999. zbog 2000. - 1 = 1999.
# 2 - Mjesec: trebamo unijeti cijeli broj kao mjesec? Dok unosimo ovaj broj, moramo imati na umu sljedeće stvari.
- Možemo isporučiti samo brojeve od 1 do 12.
- Ako je navedena cjelobrojna vrijednost 0, to će predstavljati mjesec “prosinac” prethodne godine.
- Ako je navedena cjelobrojna vrijednost -1, to će predstavljati mjesec "studeni" prethodne godine. Ovako, kad se negativna vrijednost poveća, ona će i dalje predstavljati mjesec unatrag.
- Ako je navedeni broj veći od 12, tj. Ako je broj 13, to će predstavljati mjesec “siječanj” sljedeće godine. Ako je broj 14, tada će se tretirati kao mjesec "veljača" sljedeće godine.
# 3 - Dan: trebamo unijeti cijeli broj kao što je dan? Dok unosimo ovaj broj, moramo imati na umu sljedeće stvari.
- Možemo unijeti cijele brojeve od 1 do 31 za tekuće mjesece.
- Ako je broj 0, predstavljat će zadnji dan prethodnog mjeseca.
- Ako je broj -1, predstavljat će drugi zadnji dan prethodnog mjeseca.
- Ako navedete zadnji dan ovog mjeseca +1, to će predstavljati prvi dan sljedećeg mjeseca. Na primjer, ako je zadnji dan kolovoza 31. i ako dan navedete kao 31 + 1, to će predstavljati prvi dan rujna.
Kako koristiti DATESERIAL funkciju u VBA?
Primjer # 1
Da biste koristili funkciju DATESERIAL, počnite pisati makro kod.
Korak 1: Pokrenite podpostupak
Prvo stvorite VBA potpostupak, kao što je prikazano u nastavku.

Korak 2: Deklarirajte varijablu
Sada proglasite varijablu kao DATUM.

Korak 3: Dodijelite funkciju DateSerial toj varijabli.
Sada za ovu varijablu dodijelite funkciju DATESERIJAL.

Korak 4: Sada unesite vrijednost godine, mjeseca i dana u funkciju DateSerial
Za GODINU opskrbe 2019, za MJESEC opskrbu 08, a za DAN opskrbu 05.

Korak 5: Prikaži rezultat u okviru za poruke
Sada u okviru za poruke prikažite rezultat varijable "Moj datum".
Kodirati:
Opcija Izričito Sub DateSerial_Example1 () Dim Mydate As Date Mydate = DateSerial (2019, 8, 5) MsgBox Mydate End Sub

Korak 6: Pokrenite kôd
Sada pokrenite ovaj kod da biste vidjeli datum ispod.

Rezultat kaže "5.8.2019". U mom formatu sistemskog datuma oblik je „MM-DD-GGGG“, pa je zato rezultat i u istom formatu.
Također možemo promijeniti format datuma pomoću funkcije FORMAT u VBA. Primijenite funkciju FORMAT kao dolje.
Kodirati:
Opcija Izričito Sub DateSerial_Example1 () Dim Mydate As Date Mydate = DateSerial (2019, 8, 5) MsgBox Format (Mydate, "DD-MMM-YYYY") Kraj Sub
Ovo će primijeniti format u "DD-MMM-GGGG", a rezultat je sljedeći.

Primjer # 2
Također možemo deklarirati varijable i tim vrijednostima dostaviti vrijednosti. Na primjer, pogledajte donji kod.
Kodirati:
Sub DateSerial_Example2 () Zatamni datum datuma Dim DimY Godina kao cjelovito Dim MyMonth Kao cjelovito Dim MyDay Kao cjelovito MyYear = 2019 MyMonth = 8 MyDay = 5 Mydate = DateSerial (MyYear, MyMonth, MyDay) MsgBox Format (MyDate, "DD-MM, YY ") Kraj Sub
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.
To je zato što, budući da smo mjesec unijeli kao 0 DATESERIJALNA funkcija, uzima mjesec do posljednjeg mjeseca prethodne godine i u skladu s tim mijenja i godinu.
Ovako, isprobajte različite brojeve da biste vidjeli utjecaj funkcije.
Stvari koje treba zapamtiti
- Morate znati koji broj predstavlja koju godinu, mjesec i vrtić. Pažljivo pročitajte objašnjenje sintakse da biste razumjeli.
- Rezultat će se temeljiti na formatu datuma vašeg sustava. Ako želite modificirani rezultat, tada morate primijeniti funkciju FORMAT i spomenuti format datuma prema vašoj prikladnosti.