VBA DateSerial

Funkcja Excel VBA DateSerial

Funkcja DateSerial w VBA zwraca datę z wartości podanych przez użytkowników. Musimy podać, jaki jest rok, jaki jest dzień i jaki jest miesiąc. Wynik będzie oparty na formacie daty w systemie.

Poniżej znajduje się składnia funkcji DATESERIAL .

# 1 - Rok: musimy wpisać liczbę całkowitą jako rok? Podając liczbę całkowitą musimy mieć na uwadze poniższe kwestie.

  • Możemy dostarczyć numery od 0 do 9999.
  • Liczby jedno- i dwucyfrowe od 0 do 99 będą traktowane od 1930 do 2029 roku.
  • Ujemna liczba całkowita zostanie odjęta od roku 2000. Na przykład, jeśli podasz -1, wynikiem będzie 1999, ponieważ 2000 - 1 = 1999.

# 2 - Miesiąc: musimy wpisać liczbę całkowitą jako miesiąc? Podczas wpisywania tego numeru musimy mieć na uwadze poniższe kwestie.

  • Możemy dostarczyć tylko numery od 1 do 12.
  • Jeśli podana wartość całkowita wynosi 0, będzie to oznaczać miesiąc „grudzień” poprzedniego roku.
  • Jeśli podana wartość całkowita wynosi -1, będzie to miesiąc „listopad” poprzedniego roku. W ten sposób, gdy wartość ujemna wzrasta, będzie ona nadal reprezentować miesiąc wstecz.
  • Jeśli podana liczba jest większa niż 12, tj. Jeśli liczba wynosi 13, to będzie to miesiąc „styczeń” następnego roku, jeśli liczba wynosi 14, to będzie traktowany jako miesiąc „luty” następnego roku.

# 3 - Dzień: musimy wpisać liczbę całkowitą jako jaki jest dzień? Podczas wpisywania tego numeru musimy mieć na uwadze poniższe kwestie.

  • Dla dni bieżącego miesiąca możemy wprowadzić liczby całkowite od 1 do 31.
  • Jeśli liczba wynosi 0, będzie to ostatni dzień poprzedniego miesiąca.
  • Jeśli liczba wynosi -1, będzie reprezentować przedostatni dzień poprzedniego miesiąca.
  • Jeśli podasz ostatni dzień tego miesiąca +1, to będzie to pierwszy dzień następnego miesiąca. Na przykład, jeśli ostatni dzień sierpnia to 31 sierpnia i jeśli podasz dzień jako 31 + 1, będzie to pierwszy dzień września.

Jak korzystać z funkcji DATESERIAL w VBA?

Możesz pobrać ten szablon VBA DateSerial Excel tutaj - Szablon VBA DateSerial Excel

Przykład 1

Aby skorzystać z funkcji DATESERIAL, zacznij pisać kod makra.

Krok 1: Rozpocznij procedurę podrzędną

Najpierw utwórz podprocedurę VBA, jak pokazano poniżej.

Krok 2: Zadeklaruj zmienną

Teraz zadeklaruj zmienną jako DATE.

Krok 3: Przypisz funkcję DateSerial do tej zmiennej.

Teraz dla tej zmiennej przypisz funkcję DATESERIAL.

Krok 4: Teraz wprowadź wartości roku, miesiąca i dnia w funkcji DateSerial

Na ROK podaż 2019, na MIESIĄC podaż 08 i na DZIEŃ podaż 05.

Krok 5: Pokaż wynik w oknie wiadomości

Teraz pokaż wynik zmiennej „Moja data” w oknie komunikatu.

Kod:

 Option Explicit Sub DateSerial_Example1 () Dim Mydate As Date Mydate = DateSerial (2019, 8, 5) MsgBox Mydate End Sub 

Krok 6: Uruchom kod

Teraz uruchom ten kod, aby zobaczyć poniżej datę.

Wynik mówi „05.08.2019”. W moim systemie data ma format „MM-DD-RRRR”, dlatego też wynik jest w tym samym formacie.

Możemy również zmienić format daty za pomocą funkcji FORMAT w VBA. Zastosuj funkcję FORMAT, jak poniżej.

Kod:

 Option Explicit Sub DateSerial_Example1 () Dim Mydate As Date Mydate = DateSerial (2019, 8, 5) MsgBox Format (Mydate, "DD-MMM-RRRR") End Sub 

Spowoduje to zastosowanie formatu „DD-MMM-RRRR”, a wynik będzie następujący.

Przykład nr 2

Możemy również zadeklarować zmienne i podać wartości do tych zmiennych. Na przykład spójrz na poniższy kod.

Kod:

 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-MMRR" ") Napis końcowy 

Zamiast podawać rok, miesiąc i dzień bezpośrednio do funkcji DATESERIAL, zadeklarowaliśmy zmienne i przypisaliśmy im wartości. Później dostarczyliśmy zmienne do funkcji DATESERIAL.

W ten sposób możemy wykorzystać zmienne w VBA do przechowywania wartości.

Przykład nr 3

Teraz będziemy eksperymentować z rokiem. Przypiszę wartość roku jako 1 i zobaczę wynik.

Liczby jedno- i dwucyfrowe ROK reprezentują rok od 1930 do 2029. Zatem 01 oznacza 2001, 02 oznacza 2002 i tak dalej.

Teraz zmieńmy numer miesiąca na 0 i zobaczmy wynik.

Spójrz na kod tutaj, rok to 2019, a miesiąc to 0. Ale spójrz na wynik, który mówi 05-grudzień-2019, podczas gdy podany rok to 2019, mówi, że 2018, czyli rok poprzedni.

Dzieje się tak, ponieważ ponieważ podaliśmy miesiąc jako 0, funkcja DATESERIAL zajmuje miesiąc do ostatniego miesiąca poprzedniego roku i odpowiednio zmienia rok.

W ten sposób spróbuj różnych liczb, aby zobaczyć wpływ funkcji.

Rzeczy do zapamiętania

  • Musisz wiedzieć, jaka liczba oznacza rok, miesiąc i przedszkole. Przeczytaj uważnie wyjaśnienie składni, aby zrozumieć.
  • Wynik będzie oparty na formacie daty w systemie, jeśli chcesz zmodyfikować wynik, musisz zastosować funkcję FORMAT, podając format daty zgodnie z wygodą.