Jak używać funkcji VBA DateAdd w Excelu

  • Udostępnij To
Hugh West

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.xlsm

Wprowadzenie 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 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

Hugh West jest bardzo doświadczonym trenerem i analitykiem Excela z ponad 10-letnim doświadczeniem w branży. Posiada tytuł licencjata w dziedzinie rachunkowości i finansów oraz tytuł magistra administracji biznesowej. Hugh ma pasję do nauczania i opracował unikalne podejście do nauczania, które jest łatwe do naśladowania i zrozumienia. Jego specjalistyczna wiedza na temat programu Excel pomogła tysiącom studentów i profesjonalistów na całym świecie doskonalić swoje umiejętności i osiągać doskonałe wyniki w karierze. Za pośrednictwem swojego bloga Hugh dzieli się swoją wiedzą ze światem, oferując bezpłatne samouczki programu Excel i szkolenia online, aby pomóc osobom indywidualnym i firmom w pełni wykorzystać swój potencjał.