Funkce VBA DateSerial - Jak používat funkci DateSerial? (Příklady)

Funkce Excel VBA DateSerial

Funkce DateSerial ve VBA vrací datum z hodnot zadaných uživateli. Musíme dodat, co je rok, co je den a co je měsíc. Výsledek bude založen na formátu data vašeho systému.

Níže je uvedena syntaxe funkce DATESERIAL .

# 1 - Rok: musíme zadat celé číslo, jaký je rok? Při zadávání celých čísel je třeba mít na paměti níže uvedené věci.

  • Můžeme dodat čísla od 0 do 9999.
  • S jednocifernými a dvoucifernými čísly od 0 do 99 bude zacházeno od roku 1930 do roku 2029.
  • Záporné celé číslo bude odečteno od roku 2000. Například pokud zadáte -1, bude výsledkem 1999 kvůli 2000 - 1 = 1999.

# 2 - Měsíc: musíme zadat celé číslo, jaký je měsíc? Při zadávání tohoto čísla je třeba mít na paměti níže uvedené věci.

  • Můžeme dodat pouze čísla od 1 do 12.
  • Pokud je zadaná celočíselná hodnota 0, bude to představovat měsíc „prosinec“ předchozího roku.
  • Pokud je zadaná celočíselná hodnota -1, bude to představovat měsíc „listopad“ předchozího roku. Když se záporná hodnota zvýší, bude tak i nadále představovat měsíc zpětného roku.
  • Pokud je zadané číslo větší než 12, tj. Pokud je číslo 13, bude to představovat měsíc „leden“ následujícího roku. Pokud je číslo 14, bude se s ním zacházet jako s měsícem „únor“ následujícího roku.

# 3 - Den: musíme zadat celé číslo, jaký je den? Při zadávání tohoto čísla je třeba mít na paměti níže uvedené věci.

  • Můžeme zadat celočíselná čísla od 1 do 31 pro dny aktuálního měsíce.
  • Pokud je číslo 0, bude představovat poslední den předchozího měsíce.
  • Pokud je číslo -1, bude to představovat druhý poslední den předchozího měsíce.
  • Pokud zadáte poslední den tohoto měsíce +1, bude to představovat první den následujícího měsíce. Pokud je například poslední den srpna 31 a pokud zadáte den jako 31 + 1, bude to představovat první den září.

Jak používat funkci DATESERIAL ve VBA?

Příklad č. 1

Chcete-li použít funkci DATESERIAL, začněte psát kód makra.

Krok 1: Spusťte dílčí postup

Nejprve vytvořte podproces VBA, jak je znázorněno níže.

Krok 2: Deklarovat proměnnou

Nyní deklarujte proměnnou jako DATE.

Krok 3: Přiřaďte této proměnné funkci DateSerial.

Nyní této proměnné přiřaďte funkci DATESERIAL.

Krok 4: Nyní zadejte hodnoty roku, měsíce a dne ve funkci DateSerial

Pro YEAR supply 2019, for MONTH supply 08, and for DAY supply 05.

Krok 5: Zobrazit výsledek ve schránce zpráv

Nyní zobrazte výsledek proměnné „Moje datum“ v okně se zprávou.

Kód:

Možnost Explicit Sub DateSerial_Example1 () Dim Mydate As Date Mydate = DateSerial (2019, 8, 5) MsgBox Mydate End Sub
Krok 6: Spusťte kód

Nyní spusťte tento kód a podívejte se na níže uvedené datum.

Výsledek říká „5. 5. 2019“. V mém systémovém datovém formátu je formát „MM-DD-RRRR“, proto je výsledek také ve stejném formátu.

Můžeme také změnit formát data pomocí funkce FORMAT ve VBA. Použijte funkci FORMAT, jak je uvedeno níže.

Kód:

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

Použije se formát „DD-MMM-RRRR“ a výsledek bude následující.

Příklad č. 2

Můžeme také deklarovat proměnné a poskytnout hodnoty těmto proměnným. Podívejte se například na níže uvedený 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 ") End 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.

Je to proto, že protože jsme dodali měsíc jako 0 DATESERIAL, funkce trvá měsíc do posledního měsíce předchozího roku a podle toho také mění rok.

Takto vyzkoušejte různá čísla, abyste viděli dopad funkce.

Věci k zapamatování

  • Musíte vědět, jaké číslo představuje který rok, měsíc a denní péči. Přečtěte si pozorně vysvětlení syntaxe, abyste tomu porozuměli.
  • Výsledek bude založen na formátu data vašeho systému. Pokud chcete upravit výsledek, musíte použít funkci FORMAT a uvést formát data podle vašeho pohodlí.

Zajímavé články...