Funkcja VBA DatePart

Data Opis części

Zwraca określoną część podanej daty.

Proste przykłady DatePart

Oto prosty przykład DatePart:

123 Data podrzędnaCzęść_rok_Test()MsgBox DatePart("rrrr", #1/1/2019#)Napis końcowy

Ten kod zwróci 2022.

Składnia części daty

W edytorze VBA możesz wpisać „DatePart (”, aby zobaczyć składnię funkcji DatePart:

Funkcja DatePart zawiera 4 argumenty:

Interwał: Jednostka czasu (dni, miesiące, lata itp.). Wpisz jako ciąg. (np. „m” oznacza miesiąc)

Ustawienie Opis
rrrr Rok
Q Jedna czwarta
m Miesiąc
tak Dzień Roku
D Dzień
w Dzień powszedni
w W Tydzień
h Godzina
n Minuta
s druga

Data: Wartość wariantu (data), którą chcesz ocenić.

Pierwszy dzień tygodnia: Stała określająca pierwszy dzień tygodnia. Jest to opcjonalne. Jeśli nie określono, przyjmowana jest niedziela.

Stały Wartość Opis
vbUseSystem 0 Użyj ustawienia interfejsu NLS API.
vbSunday 1 Niedziela (domyślnie)
vbMonday 2 poniedziałek
vbwtorek 3 Wtorek
vbŚroda 4 Środa
vbczwartek 5 czwartek
vbPiątek 6 piątek
vbSobota 7 sobota

Pierwszy Tydzień Roku: Stała określająca pierwszy tydzień roku. Jest to opcjonalne. Jeśli nie określono, za pierwszy tydzień przyjmuje się tydzień, w którym występuje 1 stycznia.

Stały Wartość Opis
vbUseSystem 0 Użyj ustawienia interfejsu NLS API.
vbPierwszy Sty1 1 Zacznij od tygodnia, w którym przypada 1 stycznia (domyślnie).
vbPierwsze cztery dni 2 Zacznij od pierwszego tygodnia, który ma co najmniej cztery dni w nowym roku.
vbFirstFullWeek 3 Zacznij od pierwszego pełnego tygodnia w roku.

Programowanie VBA | Generator kodu działa dla Ciebie!

Przykłady funkcji Excel VBA DatePart

Daty odniesienia

Na początek zademonstrujemy różne sposoby odwoływania się do dat za pomocą funkcji VBA DatePart.

Każda z tych funkcji DatePart daje ten sam wynik:

123456789 Sub DateAdd_ReferenceDates()MsgBox DatePart("rrrr", #4/1/2019#)MsgBox DatePart("rrrr", DateSerial(2019, 4, 1))MsgBox DatePart("rrrr", DateValue("1 kwietnia 2022"))Napis końcowy

Możesz też odwołać się do komórki zawierającej datę:

12345 Sub DatePart_ReferenceDate_Cell()MsgBox DatePart("rrrr", Range("C2").Value)Napis końcowy

Lub utwórz i odnieś się do zmiennych daty:

12345678 Data podrzędnaCzęść_Zmienna()Dim dt As Datedt = #4/1/2019#MsgBox DateAdd("rrrr", dt)Napis końcowy

Korzystanie z różnych jednostek interwału

Jedna czwarta

123 Data podrzędnaCzęść_Kwartał()MsgBox DatePart("q", #6/30/2019#)Napis końcowy

Miesiąc

12345 Data podrzędnaCzęść_Miesiąc()MsgBox DatePart("m", #6/30/2019#)' odpowiednikMiesiąc MsgBox(#6/30/2019#)Napis końcowy

Dzień

12345 Data podrzędnaCzęść_dzień()MsgBox DatePart("d", #6/30/2019#)' odpowiednikDzień MsgBox (#6/30/2019#)Napis końcowy

Tydzień

12345 Data podrzędnaPart_Week_Test()MsgBox DatePart("w", 06/30/2019#)' odpowiednikMsgBox Dzień powszedni(#6/30/2019#)Napis końcowy

Godzina

123456789101112 Data podrzędnaCzęść_Godzina()Dim dt As DateDim nHour As Longdt = 14.08.2019 9:30:00 #nHour = DatePart("h", dt)MsgBox nGodzina' odpowiednikMsgBox Godzina (dt)Napis końcowy

Minuty

123456 Data podrzędnaCzęść_Minuta()MsgBox DatePart("n", 14.08.2019 9:15:00 AM#)' odpowiednikMinuta MsgBox (# 14.08.2019 9:15: 00#)Minuta MsgBox (#9:15:00#)Napis końcowy

druga

123456 Data podrzędnaCzęść_Druga()MsgBox DatePart("s", 14.08.2019 9:15:15 AM#)' odpowiednikMsgBox drugi(# 14.08.2019 9:15:15 AM#)MsgBox sekunda (#9:15:15#)Napis końcowy
wave wave wave wave wave