Spis treści
Na stronie Funkcja VBA DateAdd znajduje się w kategorii data i godzina w programie Excel Funkcje VBA Za pomocą tej funkcji możemy dodawać lub odejmować lata, miesiące, dni, kwartały, a nawet różne przedziały czasowe, takie jak godziny, minuty, sekundy od danej daty. Zajmowanie się datą i czasem w codziennych obliczeniach w celu generowania raportów lub dokonywania porównań jest częstym scenariuszem. W programie Excel, użycie funkcji VBA dotyczących daty i czasu, takich jak funkcja DateAdd, sprawia, że złożone lub czasochłonne obliczeniabardziej wydajny i szybszy.
Pobierz podręcznik do ćwiczeń
Pobierz ten zeszyt ćwiczeń, aby ćwiczyć podczas czytania tego artykułu.
VBA Funkcja DateAdd.xlsmWprowadzenie do funkcji VBA DateAdd w programie Excel
Wynik:
data, do której dodaje się lub odejmuje określony przedział czasu
Składnia:
DateAdd (interwał, liczba, data)
Argumenty:
Argument | Wymagane/opcjonalne | Opis |
---|---|---|
interwał | Wymagane | A ciąg wyrażenie. |
Przedział czasu w różnych ustawieniach, który chcemy dodać numer Wymagane A numeryczny wyraz .
Na stronie numer z interwały dodać lub odjąć
Może być pozytywny - za przyszły daty
Może być negatywny - za przeszłość daty data Wymagane A data wyraz
Na stronie data do którego interwały są dodano
Ustawienia:
Na stronie Funkcja DateAdd ma te ustawienia interwałów:
Ustawienie | Opis |
---|---|
yyyy | Rok |
q | Kwartał |
m | Miesiąc |
y | Rok, dzień |
d | Dzień |
w | Dzień powszedni |
ww | Tydzień |
h | Godzina |
n | Minuta |
s | Druga |
Przykłady funkcji Excel VBA DateAdd
Wyrażenia formuły funkcji DateAdd w programie Excel
Są różne sposoby na umieszczenie data argument do Funkcja DateAdd. Wszystkie one skutkują tym samym wyjściem.
Wstawić kod w Visual Basic Editor:
(Jak uruchomić kod w edytorze Visual Basic)
Sub add_year() Range("D3") = DateAdd("yyy", 2, #1/1/2022#) Range("D4") = DateAdd("yyy", 2, DateSerial(2022, 1, 1)) Range("D5") = DateAdd("yyy", 2, DateValue("Jan 1, 2022")) Range("D6") = DateAdd("yyy", 2, Range("B6")) End Sub
Wyjaśnienie :
DateAdd("yyyy",2, jedna z poniższych metod)
Aby umieścić argument daty możemy użyć różnych metod:
- #1/1/2011#
- DateSerial( rok , miesiąc, dzień)
- DateValue( data )
- Zakres ("komórka") - Data zapisana w komórce
- Przechowywanie daty w zmiennej
W komórkach D3, D4, D5, D6, D7 umieszczamy powyższe metody jako data argument z DateAdd i otrzymaliśmy funkcję ten sam wynik.
Dodaliśmy 2 więcej lat do 1/1/2022 w wyniku którego 1/1/2024.
Tutaj,
yyyy oznacza rok jako interwał
2 reprezentuje liczbę przedziałów jako numer .
Pomoc: Jak uruchomić kod w edytorze Visual Basic
Postępuj zgodnie z krokami:
- Z. Wstążka programu Excel , przejdź do Zakładka Deweloper i wybrać Visual Basic Tab.
- W nowym oknie kliknij przycisk Wkładka zakładka i wybrać Moduł.
- Napisz swoje kod w edytorze i naciśnij F5 do bieg.
Dodawanie różnych ustawień przedziałów czasowych za pomocą funkcji DateAdd w Excelu
1. Dodaj rok
Kod:
Sub DateAdd_Rok() Zakres("F5") = DateAdd("rrrr", 2, Zakres("D5")) End Sub
Wynik: 2 lata dodany do 1/1/2022 (mm/dd/rrrr) i wynikało z niego, że 1/1/2024 (mm//dd/rr).
Czytaj więcej: Jak używać funkcji Rok w Excelu VBA
2. Dodaj kwartał
Kod:
Sub DateAdd_Kwartały() Zakres ("F5") = DateAdd("q", 2, Zakres("D5")) End Sub
Wynik: 2 kwartały = 6 miesięcy dodany do 1/1/2022 (mm/dd/rrrr) i wynikało z niego, że 7/1/2022 (mm//dd/rr).
3. Dodaj miesiąc
Kod:
Sub DateAdd_Miesiące() Zakres("F5") = DateAdd("m", 2, Zakres("D5")) End Sub
Wynik: 2 miesiące dodany do 1/1/2022 (mm/dd/rrrr) i wynikało z niego, że 3/1/2022 (mm//dd/rr).
Czytaj więcej: Jak korzystać z funkcji Miesiąc w Excelu VBA
4. Dodaj dzień roku
Kod:
Sub DateAdd_DayOfYear() Range("F5") = DateAdd("y", 2, Range("D5")) End Sub
Wynik : 2 Dodano dzień roku do 1/1/2022 (mm/dd/rrrr) i wynikało z niego, że 1/3/2022 (mm//dd/rr).
Czytaj więcej: Jak używać funkcji dnia w Excelu VBA
5. Dodaj dzień
Kod:
Sub DateAdd_Day() Zakres("F5") = DateAdd("d", 2, Zakres("D5")) End Sub
Wynik: 2 dni dodane do 1/1/2022 (mm/dd/rrrr) i wynikało z niego, że 1/3/2022 (mm//dd/rr).
Podobne lektury
- Excel VBA, aby znaleźć numer tygodnia (6 szybkich przykładów)
- Jak używać funkcji VBA DatePart w Excelu (7 przykładów)
- Wykorzystanie funkcji VBA DateSerial w programie Excel (5 prostych zastosowań)
- Jak przekonwertować datę z łańcucha za pomocą VBA (7 sposobów)
6. Dodaj dzień tygodnia
Kod:
Sub DateAdd_WeekDay() Zakres("F5") = DateAdd("w", 10, Zakres("D5")) End Sub
Wynik: dodano 10 dni tygodnia do 1/1/2022 (mm/dd/rrrr) i wynikało z niego, że 1/11/2022 (mm//dd/rr).
7. Dodaj tydzień
Kod:
Sub DateAdd_Weeks() Zakres("F5") = DateAdd("ww", 2, Zakres("D5")) End Sub
Wynik: 2 tygodnie= 14 dni dodane do 1/1/2022 (mm/dd/rrrr) i wynikało z niego, że 1/15/2022 (mm//dd/rr).
Czytaj więcej: Jak uzyskać dzień tygodnia za pomocą VBA
8. Dodaj godzinę
Kod:
Sub DateAdd_Godziny() Zakres("F5") = DateAdd("h", 14, Zakres("D5")) End Sub
Wynik: dodano 14 godzin do 1/1/2022 12:00 AM (mm/dd/yyyy: hh/mm) i wynikało z niego, że 1/1/2022 2:00 PM (mm//dd/rrrr : hh/mm).
9. Dodaj minutę
Kod:
Sub DateAdd_Minutes() Zakres("F5") = DateAdd("n", 90, Zakres("D5")) End Sub
Wynik: 90 minut= 1,30 godziny dodane do 1/1/2022 12:00 AM (mm/dd/rrrr) i wynikało z niego, że 1/1/2022 1:30 AM (mm//dd/rr).
10. Dodaj drugi
Kod:
Sub DateAdd_Seconds() Range("F5") = DateAdd("s", 120, Range("D5")) End Sub
Wynik: 120 sekund = 2 minuty dodane do 1/1/2022 12:00 AM (mm/dd/rrrr : hh/mm) i dało wynik 1/1/2022 12:02 AM (mm//dd/rrrr : hh/mm).
Wykorzystanie funkcji DateAdd w Excelu do odejmowania różnych ustawień przedziałów czasowych
Analogicznie możemy odjąć lata, miesiące, dni, godziny, minuty, itp. z daty za pomocą znak minus w przód z argument liczbowy Na przykład:
Kod:
Sub DateAdd_Subtract_Years() Range("F5") = DateAdd("y", -2, Range("D5")) End Sub
Wynik: 2 lata odjęty od 1/1/2022 (mm/dd/rrrr) i wynikało z niego, że 1/1/2020 (mm//dd/rr).
Rzeczy do zapamiętania
- Kiedy używamy 'w' dodawać dni powszednie sumuje się wszystkie dni tygodnia w tym sobota i niedziela, a nie tylko dni robocze(ktoś mógłby się spodziewać).
- Funkcja DateAdd nie kończy się wyświetlaniem wskaźnika nieważna data Na przykład, jeśli dodamy 1 miesiąc do 31 stycznia 2022, to wynik będzie 28 lutego 2022, a nie 31 lutego 2022 (nie istnieje).
- Jeśli odejmiemy ponad 122 lata od teraz an błąd wystąpiłoby, ponieważ data Excela zaczyna z 1 stycznia 1990 r.
- Data zwrotu funkcji DateAdd zależy od. Panel sterowania Ustawienia daty.
- Powinniśmy argument data funkcji DateAdd wg. Własność kalendarza . If the Calender is Gregorian , wejście da argument powinno być również w Gregorian Podobnie, jeśli kalendarz jest w Hijri, argument daty musi być w tym samym formacie.
Wniosek
Teraz już wiemy jak używać funkcji VBA DateAdd w Excelu. Mamy nadzieję, że zachęci Cię to do pewniejszego korzystania z tej funkcjonalności. Wszelkie pytania i sugestie nie zapomnij umieścić w polu komentarza poniżej