Ostatnio zaktualizowano: 30 października, 2017 przez admin
1. Funkcja DateAdd VBA – Opis
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:
- Dodać dni do daty. Odjąć dni od daty.
- Dodać miesiące do daty. Odjąć miesiące od daty.
- Dodać lata do daty. Odjąć lata od daty.
- Dodać tygodnie do daty. Odjąć tygodnie od daty.
- Dodać kwartały do daty. Odjąć kwartały od daty.
- Dodać godziny do czasu, bądź daty. Odjąć godziny od czasu, bądź daty.
- Dodać minuty do czasu, bądź daty. Odjąć minuty od czasu, bądź daty.
- Dodać sekundy do czasu, bądź daty. Odjąć sekundy od czasu, bądź daty.
2. Funkcja VBA DateAdd – Składnia
'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.
3. Funkcja VBA DateAdd – Przykład
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
4. Funkcja VB DateAdd – Dodatkowe informacje
- Jeśli chcemy odjąć wybrane wartości od daty powinniśmy wprowadzić drugi argument funkcji ze znakiem minus.
- Za pomocą funkcji DateAdd VBA możemy dodawać do / odejmować od daty dni, miesiące, tygodnie, kwartały, lata, godziny, minuty, sekundy.
- Jeśli w VBA chcemy dodać do daty określoną liczbę dni lub odjąć określoną liczbę dni, możemy skorzystać w tym celu ze zwykłych działań arytmetycznych podobnie jak w przypadku liczb
5. Funkcja DateAdd 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.