Funkcja DatePart VBA – Jak rozbić datę i czas na części

Ostatnio zaktualizowano: 30 października, 2017 przez admin

1. Funkcja DatePart VBA – Opis

Funkcja DatePart VBA zwraca poszczególne części daty i czasu w zależności od wprowadzonych argumentów. Za jej pomocą możemy wyciągnąć takie elementy jak kwartał, dzień roku, tydzień roku, a także standardowe elementy daty jak dzień, miesiąc, rok, godzina, minuta, sekunda. Warto zaznaczyć, że te elementy możemy wyciągnąć także za pomocą innych funkcji daty.

2. Funkcja VBA DatePart – Składnia

'datatalk.pl
DatePart(Interval As String, Date, [FirstDayOfWeek As VbDayOfWeek = vbSunday], [FirstWeekOfYear As VbFirstWeekOfYear = vbFirstJan1])

Interval: Sprecyzowanie jednostki czasu, w których chcemy uzyskać wynik. Nazwy jednostek wprowadzamy w cudzysłowie, np „YYYY”, jeśli chcemy uzyskać lata.

JednostkaInterval
Dzieńd
Dzień rokuy
Godzinah
Minutan
Miesiącm
Kwartałq
Sekundas
Dzień tygodniaw
Tydzień rokuww
Rokyyyy

Date: Data lub czas, na którym chcemy użyć funkcji DatePart VB.

FirstDayOfWeek: Określenie pierwszego dnia tygodnia. W tym argumencie wprowadzamy stałą lub jej numer. Poniżej tabela przedstawiająca to, co powinniśmy wprowadzać w tym argumencie. Argument nie jest obowiązkowy.

StałaNumer stałejOpis
vbUseSystem0Zgodnie z ustawieniami systemu / API
vbSunday1Niedziela (default)
vbMonday2Poniedziałek (ISO 8601)
vbTuesday3Wtorek
vbWednesday4Środa
vbThursday5Czwartek
vbFriday6Piątek
vbSaturday7Sobota

FirstWeekOfYear – Określenie pierwszego tygodnia roku w zależności o parametrów funkcji. W tym argumencie wprowadzamy stałą lub jej numer. Poniżej tabela przedstawiająca to, co powinniśmy wprowadzać w tym argumencie. Argument nie jest obowiązkowy.

StałaNumer stałejOpis
vbUseSystem0Zgodnie z ustawieniami systemu / API
vbFirstJan11Tydzień, w którym wypada 1 stycznia
vbFirstFourDays2Pierwszy tydzień roku posiadający co najmniej 4 dni  (ISO  8601)
vbFirstFullWeek3Pierwszy pełny tydzień w roku

Zwrot funkcji: Number / Wartość liczbowa określająca liczbę jednostek czasu.

3. Funkcja VBA DatePart – Przykład

Jak używać funkcji DatePart w VBA Excel? Poniżej przykład użycia funkcji DatePart w Edytorze VisualBasic.

Przykład 1: Jak uzyskać dzień z daty VBA.

'datatalk.pl
Dim datValue1 As Date
datValue1 = #11/20/2018 8:22:59 AM#
MsgBox DatePart("d", datValue1, vbMonday)
Range("A1") = DatePart("d", datValue1, 2)

Przykład 2: VBA jak wyciągnąć numer tygodnia z daty.

'datatalk.pl
Dim datValue1 As Date
datValue1 = #11/20/2018 8:22:59 AM#
MsgBox DatePart("ww", datValue1, 2, vbFirstFourDays)
MsgBox DatePart("ww", datValue1, 2, vbUseSystem)
Range("A2") = DatePart("ww", datValue1, 2, vbFirstFourDays)
Range("A3") = DatePart("ww", datValue1, 2, vbUseSystem)

Przykład 3: VisualBasic Jak wyciągnąć miesiąc z daty.

'datatalk.pl
Dim datValue1 As Date
datValue1 = #11/20/2018 8:22:59 AM#
MsgBox DatePart("m", datValue1)
Range("A4") = DatePart("m", datValue1)

Przykład 4: VBA Jak wyciągnąć kwartał z daty.

'datatalk.pl
Dim datValue1 As Date
datValue1 = #11/20/2018 8:22:59 AM#
MsgBox DatePart("q", datValue1)
Range("A5") = DatePart("q", datValue1)

Przykład 5: Jak uzyskać rok z daty VBA.

'datatalk.pl
Dim datValue1 As Date
datValue1 = #11/20/2018 8:22:59 AM#
MsgBox DatePart("yyyy", datValue1)
Range("A6") = DatePart("yyyy", datValue1)

Przykład 6: Jak obliczyć numer dnia roku z daty VBA.

'datatalk.pl
Dim datValue1 As Date
datValue1 = #11/20/2018 8:22:59 AM#
MsgBox DatePart("y", datValue1, , vbUseSystem)
MsgBox DatePart("y", datValue1, , vbFirstFourDays)
Range("A7") = DatePart("y", datValue1, , vbUseSystem)
Range("A8") = DatePart("y", datValue1, , vbFirstFourDays)

Przykład 7: VBA Numer dnia tygodnia.

'datatalk.pl
Dim datValue1 As Date
datValue1 = #11/20/2018 8:22:59 AM#
MsgBox DatePart("w", datValue1, 2)
Range("A9") = DatePart("w", datValue1, vbMonday)

Przykład 8: VBA – obliczanie godziny z daty i czasu.

'datatalk.pl
Dim datValue1 As Date
datValue1 = #11/20/2018 8:22:59 AM#
MsgBox DatePart("h", datValue1)
Range("A10") = DatePart("h", datValue1)

Przykład 9: VBA – wyciąganie liczby minut z daty i czasu.

'datatalk.pl
Dim datValue1 As Date
datValue1 = #11/20/2018 8:22:59 AM#
MsgBox DatePart("n", datValue1)
Range("A11") = DatePart("n", datValue1)

Przykład 10: VBA – wyciąganie liczby sekund z daty i czasu.

'datatalk.pl
Dim datValue1 As Date
datValue1 = #11/20/2018 8:22:59 AM#
MsgBox DatePart("s", datValue1)
Range("A12") = DatePart("s", datValue1)
Funkcje VBA Excel – Funkcja DatePart VBA
Funkcje VBA Excel – Funkcja DatePart VBA

Plik z przykładami: funkcje_vba_excel_datepart.xlsm

4. Funkcja VB DatePart – Dodatkowe informacje

  • Jeśli chcemy, by podczas liczenia pierwszym dniem tygodnia był poniedziałek, w czwartym argumencie funkcji wpiszmy liczbę 2 lub vbMonday.
  • Jeśli chcemy by pierwszym tygodniem roku był pierwszy pełny tydzień, w piątym argumencie funkcji wpiszmy liczbę 3.
  • By wartość daty i czasu była prawidłowo widoczna dla VB, wartości wprowadzamy w cudzysłowie lub pomiędzy znakami hash ##.
  • Liczby reprezentujące miesiąc, dzień, rok, godzinę, minutę możemy uzyskać także stosując takie funkcje VBA jak: Day, Month, Year, Hour, Minute itp.

5. Funkcja DatePart VisualBasic – Gdzie stosować?

Funkcję możemy stosować w: Excel 2003, Excel 2007, Excel 2010, Excel 2013, Excel 2016.

Artykuł jest częścią listy funkcji VBA Excel. Listę wszystkich funkcji VBA znajdziesz pod tym adresem: Funkcje VBA.

 

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

%d bloggers like this: