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.
Jednostka | Interval |
Dzień | d |
Dzień roku | y |
Godzina | h |
Minuta | n |
Miesiąc | m |
Kwartał | q |
Sekunda | s |
Dzień tygodnia | w |
Tydzień roku | ww |
Rok | yyyy |
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ła | Numer stałej | Opis |
vbUseSystem | 0 | Zgodnie z ustawieniami systemu / API |
vbSunday | 1 | Niedziela (default) |
vbMonday | 2 | Poniedziałek (ISO 8601) |
vbTuesday | 3 | Wtorek |
vbWednesday | 4 | Środa |
vbThursday | 5 | Czwartek |
vbFriday | 6 | Piątek |
vbSaturday | 7 | Sobota |
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ła | Numer stałej | Opis |
vbUseSystem | 0 | Zgodnie z ustawieniami systemu / API |
vbFirstJan1 | 1 | Tydzień, w którym wypada 1 stycznia |
vbFirstFourDays | 2 | Pierwszy tydzień roku posiadający co najmniej 4 dni (ISO 8601) |
vbFirstFullWeek | 3 | Pierwszy 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)
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.