Funkcia VBA DateSerial - Ako používať funkciu DateSerial? (Príklady)

Funkcia Excel VBA DateSerial

Funkcia DateSerial vo VBA vracia dátum z hodnôt dodaných používateľmi. Musíme dodať, čo je rok, čo je deň a čo je mesiac. Výsledok bude založený na formáte dátumu vo vašom systéme.

Nižšie je uvedená syntax funkcie DATESERIAL .

# 1 - Rok: musíme zadať celé číslo, aký je rok? Pri zadávaní celých čísel musíte mať na pamäti nižšie uvedené veci.

  • Môžeme dodať čísla od 0 do 9999.
  • Jedno a dvojciferné čísla od 0 do 99 sa budú spracovávať od roku 1930 do roku 2029.
  • Záporné celé číslo sa odčíta od roku 2000. Napríklad, ak zadáte -1, bude výsledok 1999 kvôli 2000 - 1 = 1999.

# 2 - Mesiac: musíme zadať celé číslo, aký je mesiac? Pri zadávaní tohto čísla je potrebné mať na pamäti nižšie uvedené veci.

  • Môžeme dodať iba čísla od 1 do 12.
  • Ak je zadaná celočíselná hodnota 0, bude to predstavovať mesiac „december“ predchádzajúceho roka.
  • Ak je zadaná hodnota celého čísla -1, bude to predstavovať mesiac „november“ predchádzajúceho roka. Takto, keď sa záporná hodnota zvýši, bude aj naďalej predstavovať mesiac dozadu.
  • Ak je zadané číslo viac ako 12, tj. Ak je číslo 13, bude to predstavovať mesiac „január“ nasledujúceho roku. Ak je číslo 14, bude sa to považovať za mesiac „február“ nasledujúceho roku.

# 3 - Deň: musíme zadať celé číslo, aký je deň? Pri zadávaní tohto čísla je potrebné mať na pamäti nižšie uvedené veci.

  • Môžeme zadať celé čísla od 1 do 31 pre dni aktuálneho mesiaca.
  • Ak je číslo 0, bude to predstavovať posledný deň predchádzajúceho mesiaca.
  • Ak je číslo -1, bude to predstavovať druhý posledný deň predchádzajúceho mesiaca.
  • Ak zadáte posledný deň tohto mesiaca +1, bude to predstavovať prvý deň nasledujúceho mesiaca. Ak je napríklad posledný augustový deň 31. deň a ak deň zadáte ako 31 + 1, bude to predstavovať prvý septembrový deň.

Ako používať funkciu DATESERIAL vo VBA?

Príklad č

Ak chcete použiť funkciu DATESERIAL, začnite písať kód makra.

Krok 1: Spustite vedľajší postup

Najskôr vytvorte podproces VBA, ako je uvedené nižšie.

Krok 2: Deklarácia premennej

Teraz deklarujte premennú ako DATE.

Krok 3: Priraďte tejto premennej funkciu DateSerial.

Teraz tejto premennej priraďte funkciu DATESERIAL.

Krok 4: Teraz zadajte hodnoty roka, mesiaca a dňa do funkcie DateSerial

Pre zásobu ROK 2019, pre zásobu MESIAC 08 a pre dodávku DEŇ 05.

Krok 5: Zobraziť výsledok v schránke správ

Teraz v poli so správou ukážte výsledok premennej „Môj dátum“.

Kód:

Možnosť Explicit Sub SubSerial_Example1 () Dim Mydate As Date Mydate = DateSerial (2019, 8, 5) MsgBox Mydate End Sub
Krok 6: Spustite kód

Teraz spustite tento kód, aby ste videli pod dátumom.

Výsledok hovorí „5. 8. 2019“. V mojom systémovom dátovom formáte je formát „MM-DD-RRRR“, preto je výsledok tiež v rovnakom formáte.

Formát dátumu môžeme zmeniť aj pomocou funkcie FORMAT vo VBA. Použite funkciu FORMAT, ako je uvedené nižšie.

Kód:

Možnosť Explicit Sub SubSerial_Example1 () Dim Mydate As Date Mydate = DateSerial (2019, 8, 5) MsgBox Format (Mydate, "DD-MMM-YYYY") End Sub

Použije sa formát „DD-MMM-RRRR“ a výsledok bude nasledovný.

Príklad č

Môžeme tiež deklarovať premenné a dodať hodnoty týmto premenným. Napríklad si pozrite nasledujúci kód.

Kód:

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-MMM-YYY ") Koncový pod

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.

Je to preto, že keďže sme mesiac dodali ako 0 DATESERIAL, funkcia trvá mesiac až posledný mesiac predchádzajúceho roka a podľa toho meníme aj rok.

Vyskúšajte rôzne čísla, aby ste videli vplyv tejto funkcie.

Na čo treba pamätať

  • Musíte vedieť, aké číslo predstavuje ktorý rok, mesiac a jasle. Pozorne si prečítajte vysvetlenie syntaxe, aby ste tomu porozumeli.
  • Výsledok bude založený na formáte dátumu vo vašom systéme. Ak chcete upravený výsledok, je potrebné podľa potreby použiť funkciu FORMÁT a uviesť formát dátumu.

Zaujímavé články...