Funkcja DateAdd VBA datę lub czas powiększoną lub pomniejszoną o określoną liczbę jednostek czasu. Jeśli więc chcemy powiększyć datę np o określoną liczbę dni, miesięcy lat, użyjemy właśnie tej funkcji. Funkcji tej używamy, gdy chcemy wykonać następujące działania:
'datatalk.pl DateAdd(Interval As String, Number As Double, Date)
Interval: Sprecyzowanie jednostki czasu, o które chcemy powiększyć lub pomniejszyć datę lub czas. Może to być dzień, miesiąc, rok, godzina, minuta, sekunda. Szczegóły przestawia poniższa tabelka. Nazwy jednostek wprowadzamy w cudzysłowie, np „YYYY”, jeśli chcemy dodać lub odjąć lata od daty.
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 |
Number: Liczba jednostek czasu, o które chcemy powiększyć lub pomniejszyć datę lub czas.
Date: Data lub czas, które chcemy powiększyć lub pomniejszyć o jednostki czasu.
Zwrot funkcji: Date / Wartość daty, czasu lub daty i czasu.
Jak używać funkcji DateAdd w VBA Excel? Poniżej przykład użycia funkcji DateAdd w Edytorze VisualBasic.
Przykład 1: Odejmujemy od daty 2 miesiące i wyświetlamy wynik w formie okna MsgBox.
'datatalk.pl Dim datValue As Date datValue = #1/15/2018# MsgBox DateAdd("m", -2, datValue)
Przykład 2: Dodajemy do daty 10 tygodniu i wyświetlamy wynik w oknie MsgBox.
'datatalk.pl Dim datValue2 As Date datValue2 = #1/15/2018# MsgBox DateAdd("ww", 10, datValue2)
Przykład 3: Dodajemy / Odejmujemy od daty i czasu godziny i sekundy. Wyświetlamy wynik w formie okna MsgBox.
'datatalk.pl Dim datValue3 As Date datValue3 = #1/15/2018 3:00:00 AM# MsgBox DateAdd("h", -10, datValue3) MsgBox DateAdd("n", 240, datValue3)
Przykład 4: Dodajemy do daty 10 dniu i wprowadzamy wynik do arkusza.
'datatalk.pl Dim datValue4 As Date datValue4 = #6/25/2018# Range("A1") = DateAdd("d", 120, datValue4)
Przykład 5: Wprowadzamy datę od arkusza. Następnie pobieramy datę z arkusza. Dodajemy do daty 2 lata i wyświetlmy w oknie MsgBox.
'datatalk.pl Dim datValue5 As Date datValue5 = #6/25/2018# Range("A1") = datValue5 MsgBox DateAdd("YYYY", 2, Range("a1"))
Plik Excel z przykładami: funkcje_vba_excel_dateadd.xlsm
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.
W jaki sposób w Excel zmienić datę na pierwszy lub ostatni dzień miesiąca? W tym…
Średnia ważona w Excel - Jak ją obliczyć W tym przykładzie dowiesz się jak obliczyć…
Data i godzina w Excel - Jak ją szybko wstawić Jest wiele sposobów na wstawienie…
Dni robocze w Excel - Jak je obliczyć? Jeśli chcesz obliczyć dni robocze w Excel…
Kurs Excel - poziom podstawowy Kurs Excel od podstaw jest już opublikowany. Możesz z niego…
Jak w Excel zrobić pierwiastek inny niż drugiego stopnia Jeśli chcesz w Excel obliczyć pierwiastek…