Excel VBA DateSerial Function
Funkcija DateSerial v VBA vrne datum iz vrednosti, ki so jih poslali uporabniki. Navesti moramo, kaj je leto, kaj dan in kaj mesec. Rezultat bo temeljil na obliki zapisa datuma vašega sistema.
Spodaj je sintaksa funkcije DATESERIAL .

# 1 - Leto: vnesti moramo celo število, koliko je leto? Med dobavo celoštevilčnih števil moramo upoštevati spodnje stvari.
- Dobavljamo lahko številke od 0 do 9999.
- Eno in dvomestne številke od 0 do 99 bodo obravnavane od 1930 do 2029.
- Negativno celo število bo odšteto od leta 2000. Na primer, če navedete -1, bo rezultat 1999 zaradi 2000 - 1 = 1999.
# 2 - Mesec: celo število moramo vnesti kot mesec? Med vnašanjem te številke moramo imeti v mislih nekaj stvari.
- Dobavljamo lahko samo številke od 1 do 12.
- Če je podana celoštevilčna vrednost 0, bo to mesec "december" preteklega leta.
- Če je podana celoštevilska vrednost -1, bo to mesec "november" preteklega leta. Takole, ko se negativna vrednost poveča, bo še naprej predstavljala mesec nazaj.
- Če je navedena številka večja od 12, če je številka 13, bo to mesec "januar" naslednjega leta. Če je število 14, bo to obravnavano kot mesec "februar" naslednjega leta.
3. dan - dan: vnesti moramo celo število kot dan? Med vnašanjem te številke moramo imeti v mislih nekaj stvari.
- Za tekoče mesečne dni lahko vnesemo celoštevilske številke od 1 do 31.
- Če je številka 0, bo predstavljala zadnji dan prejšnjega meseca.
- Če je številka -1, bo predstavljala drugi zadnji dan prejšnjega meseca.
- Če navedete zadnji dan tega meseca +1, bo to prvi dan naslednjega meseca. Če je na primer zadnji dan avgusta 31. in če dan navedete kot 31 + 1, bo to prvi dan septembra.
Kako uporabiti funkcijo DATESERIAL v VBA?
Primer # 1
Če želite uporabiti funkcijo DATESERIAL, začnite pisati kodo makra.
1. korak: Začnite podproces
Najprej ustvarite podproceduro VBA, kot je prikazano spodaj.

2. korak: razglasite spremenljivko
Zdaj spremenljivko razglasite kot DATUM.

3. korak: tej spremenljivki dodelite funkcijo DateSerial.
Zdaj tej spremenljivki dodelite funkcijo DATESERIAL.

4. korak: Zdaj vnesite vrednost leta, meseca in dneva v funkcijo DateSerial
Za YEAR dobavo 2019, za MONTH dobavo 08 in za DAY dobavo 05.

5. korak: v polju za sporočila prikaži rezultat
Zdaj v oknu za sporočilo prikaži rezultat spremenljivke »Moj datum«.
Koda:
Možnost Izrecno Sub DateSerial_Example1 () Dim Mydate As Date Mydate = DateSerial (2019, 8, 5) MsgBox Mydate End Sub

6. korak: zaženite kodo
Zdaj zaženite to kodo, da vidite spodnji datum.

Rezultat pravi »5.8.2019«. V mojem sistemskem formatu datuma je oblika "MM-DD-LLLL", zato je tudi rezultat v isti obliki.
Obliko datuma lahko spremenimo tudi s funkcijo FORMAT v VBA. Uporabite funkcijo FORMAT, kot spodaj.
Koda:
Možnost Izrecno Sub DateSerial_Example1 () Dim Mydate As Date Mydate = DateSerial (2019, 8, 5) MsgBox Format (Mydate, "DD-MMM-YYYY") End Sub
S tem bo uporabljena oblika v obliki »DD-MMM-LLLL«, rezultat pa je naslednji.

2. primer
Prav tako lahko deklariramo spremenljivke in jim posredujemo vrednosti. Na primer, poglejte spodnjo kodo.
Koda:
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-MM YM MMM, YY MM-MM, YY ") End Sub
Namesto da posredujemo leto, mesec in dan neposredno funkciji DATESERIAL, smo deklarirali spremenljivke in jim dodelili vrednosti. Nato smo pozneje dodali spremenljivke v funkcijo DATESERIAL.
Tako lahko spremenljivke v VBA uporabimo za shranjevanje vrednosti.
3. primer
Zdaj bomo preizkusili leto. Letno vrednost bom dodelil kot 1 in si ogledal rezultat.

Eno- in dvomestne številke v LETU predstavljajo leto od 1930 do 2029. Torej 01 pomeni 2001, 02 pomeni 2002 in tako naprej.
Zdaj spremenimo številko meseca na 0 in si oglejmo rezultat.

Tu si oglejte kodo, leto je 2019, mesec pa 0. Toda poglejte rezultat, v katerem piše 05. 12. 2019, medtem ko je dobavljeno leto 2019, pravi 2018, tj. Prejšnje leto.
To je zato, ker ker smo mesec navedli kot 0 DATESERIAL, funkcija preide mesec v zadnji mesec preteklega leta in ustrezno spremeni tudi leto.
Tako poskusite z različnimi številkami, da vidite vpliv funkcije.
Stvari, ki si jih je treba zapomniti
- Vedeti morate, katero število predstavlja katero leto, mesec in varstvo. Za razumevanje natančno preberite razlago sintakse.
- Rezultat bo temeljil na obliki zapisa datuma vašega sistema. Če želite spremenjen rezultat, potem morate uporabiti funkcijo FORMAT in omeniti obliko datuma, kot vam ustreza.