Verwendung der VBA-DateAdd-Funktion in Excel

  • Teile Das
Hugh West

Die VBA DateAdd-Funktion befindet sich unter der Kategorie Datum und Uhrzeit der Excel-Funktion VBA-Funktionen Mit dieser Funktion können wir Jahre, Monate, Tage, Quartale und sogar verschiedene Zeitintervalle wie Stunden, Minuten und Sekunden zu einem gegebenen Datum addieren oder subtrahieren. Der Umgang mit Datum und Zeit in täglichen Berechnungen zur Erstellung von Berichten oder für Vergleiche ist ein häufiges Szenario. In Excel macht die Verwendung von VBA-Datums- und Zeitfunktionen wie der DateAdd-Funktion komplexe oder zeitaufwändige Berechnungeneffizienter und schneller.

Arbeitsbuch für die Praxis herunterladen

Laden Sie dieses Übungsheft herunter, um zu üben, während Sie diesen Artikel lesen.

VBA DateAdd-Funktion.xlsm

Einführung in die Excel VBA DateAdd-Funktion

Das Ergebnis:

ein Datum, zu dem ein bestimmtes Zeitintervall addiert oder subtrahiert wird

Syntax:

DatumHinzufügen (Intervall, Nummer, Datum)

Argumente:

Argument Erforderlich/Optional Beschreibung
Intervall Erforderlich A String Ausdruck.

Das Zeitintervall in verschiedenen Einstellungen, das wir hinzufügen möchten Nummer Erforderlich A numerisch Ausdruck .

Die Nummer von Intervalle zu addieren oder zu subtrahieren

Kann sein positiv - für Zukunft Daten

Kann sein negativ - für Vergangenheit Daten Datum Erforderlich A Datum Ausdruck

Die Datum zu dem die Intervalle sind hinzugefügt.

Einstellungen:

Die DateAdd-Funktion hat diese Intervalleinstellungen:

Einstellung Beschreibung
jjjj Jahr
q Quartal
m Monat
y Jahr des Tages
d Tag
w Wochentag
ww Woche
h Stunde
n Minute
s Zweite

Beispiele für die Excel VBA DateAdd-Funktion

Formelausdrücke der Excel-Funktion DateAdd

Es gibt verschiedene Möglichkeiten, die Datum Argument in die DateAdd-Funktion. Sie führen alle zu demselben Ergebnis.

Setzen Sie Folgendes ein Code im Visual Basic-Editor:

(Wie man Code im Visual Basic Editor ausführt)

 Sub add_year() Range("D3") = DateAdd("yyyy", 2, #1/1/2022#) Range("D4") = DateAdd("yyyy", 2, DateSerial(2022, 1, 1)) Range("D5") = DateAdd("yyyy", 2, DateValue("Jan 1, 2022")) Range("D6") = DateAdd("yyyy", 2, Range("B6")) End Sub 

Erläuterung :

DateAdd("jjjjj",2, eine der folgenden Methoden)

Für die Angabe des Datums können wir verschiedene Methoden verwenden:

  • #1/1/2011#
  • DateSerial( Jahr , Monat, Tag)
  • DateValue( Datum )
  • Bereich ("Zelle") - In einer Zelle gespeichertes Datum
  • Speichern des Datums in einer Variablen

In Zellen D3, D4, D5, D6, D7 setzen wir die oben genannten Methoden als Datum Argument des DatumHinzufügen Funktion sequentiell und erhielt die dasselbe Ergebnis.

Wir fügten hinzu 2 mehr Jahre zu 1/1/2022 was dazu führte, dass 1/1/2024.

Hier,

jjjj steht für Jahr als Intervall

2 stellt die Anzahl der Intervalle dar als Nummer .

Hilfe: Wie man Code im Visual Basic-Editor ausführt

Folgen Sie den Schritten:

  • Von der Excel-Farbband , gehen Sie zu Registerkarte "Entwickler und wählen Sie Visual Basic Tab.

  • Klicken Sie in dem neuen Fenster auf die Schaltfläche einfügen. und wählen Sie Modul.

  • Schreiben Sie Ihr Code im Editor und drücken Sie F5 zu laufen.

Hinzufügen verschiedener Intervalleinstellungen mit der DateAdd-Funktion in Excel

1. Jahr hinzufügen

Code:

 Sub DateAdd_Years() Range("F5") = DateAdd("yyyy", 2, Range("D5")) End Sub 

Ergebnis: 2 Jahre hinzugefügt zu 1/1/2022 (mm/dd/yyyy) und führte zu 1/1/2024 (mm/tt/jjjj).

Lesen Sie mehr: Verwendung der Funktion Jahr in Excel VBA

2. Quartal hinzufügen

Code:

 Sub DateAdd_Quarters() Range ("F5") = DateAdd("q", 2, Range("D5")) End Sub 

Ergebnis: 2 Quartale = 6 Monate hinzugefügt zu 1/1/2022 (mm/dd/yyyy) und führte zu 7/1/2022 (mm/tt/jjjj).

3. Monat hinzufügen

Code:

 Sub DateAdd_Months() Range("F5") = DateAdd("m", 2, Range("D5")) End Sub 

Ergebnis: 2 Monate hinzugefügt zu 1/1/2022 (mm/dd/yyyy) und führte zu 3/1/2022 (mm/tt/jjjj).

Lesen Sie mehr: Verwendung der Excel VBA-Funktion MONTH

4. Tag des Jahres hinzufügen

Code:

 Sub DateAdd_DayOfYear() Range("F5") = DateAdd("y", 2, Range("D5")) End Sub 

Ergebnis : 2 Tag des Jahres hinzugefügt zu 1/1/2022 (mm/dd/yyyy) und führte zu 1/3/2022 (mm/tt/jjjj).

Lesen Sie mehr: Verwendung der Funktion Tag in Excel VBA

5. Tag hinzufügen

Code:

 Sub DateAdd_Day() Bereich("F5") = DateAdd("d", 2, Bereich("D5")) End Sub 

Ergebnis : 2 Tage hinzugefügt zu 1/1/2022 (mm/dd/yyyy) und führte zu 1/3/2022 (mm/tt/jjjj).

Ähnliche Lektüre

  • Excel VBA zum Finden der Wochennummer (6 schnelle Beispiele)
  • Verwendung der VBA-Funktion DatePart in Excel (7 Beispiele)
  • VBA DateSerial-Funktion in Excel verwenden (5 einfache Anwendungen)
  • Konvertieren von Datum aus String mit VBA (7 Wege)

6. Wochentag hinzufügen

Code:

 Sub DateAdd_WeekDay() Range("F5") = DateAdd("w", 10, Range("D5")) End Sub 

Ergebnis: 10 Wochentage hinzugefügt zu 1/1/2022 (mm/dd/yyyy) und führte zu 1/11/2022 (mm/tt/jjjj).

7. Woche hinzufügen

Code:

 Sub DateAdd_Weeks() Range("F5") = DateAdd("ww", 2, Range("D5")) End Sub 

Ergebnis: 2 Wochen= 14 Tage hinzugefügt zu 1/1/2022 (mm/dd/yyyy) und führte zu 1/15/2022 (mm/tt/jjjj).

Lesen Sie mehr: Abrufen des Wochentags mit VBA

8. Stunde hinzufügen

Code:

 Sub DateAdd_Hours() Range("F5") = DateAdd("h", 14, Range("D5")) End Sub 

Ergebnis: 14 zusätzliche Stunden zu 1/1/2022 12:00 UHR (mm/dd/yyyy: hh/mm) und führte zu 1/1/2022 14:00 UHR (mm/tt/jjjjj : hh/mm).

9. Minute hinzufügen

Code:

 Sub DateAdd_Minutes() Range("F5") = DateAdd("n", 90, Range("D5")) End Sub 

Ergebnis: 90 Minuten = 1,30 Stunden hinzugefügt zu 1/1/2022 12:00 UHR (mm/dd/yyyy) und führte zu 1/1/2022 1:30 UHR (mm/tt/jjjj).

10. Zweite hinzufügen

Code:

 Sub DateAdd_Seconds() Bereich("F5") = DateAdd("s", 120, Bereich("D5")) End Sub 

Ergebnis: 120 Sekunden = 2 Minuten hinzugefügt zu 1/1/2022 12:00 UHR (mm/dd/yyyy : hh/mm) und führte zu 1/1/2022 12:02 UHR (mm/tt/jjjjj : hh/mm).

Verwendung der DateAdd-Funktion in Excel zur Subtraktion verschiedener Intervalleinstellungen

In ähnlicher Weise können wir subtrahieren. Jahre, Monate, Tage, Stunden, Minuten usw. aus einem Datum mit Hilfe einer Minuszeichen in Vorderseite der Zahlenargument Zum Beispiel:

Code:

 Sub DateAdd_Subtract_Years() Range("F5") = DateAdd("y", -2, Range("D5")) End Sub 

Ergebnis: 2 Jahre abgezogen von 1/1/2022 (mm/dd/yyyy) und führte zu 1/1/2020 (mm/tt/jjjj).

Dinge zum Merken

  • Wenn wir die 'w' zum Hinzufügen wochentags es summiert sich alle Tage einer Woche einschließlich Samstag und Sonntag, nicht nur an den Werktagen (was man vielleicht erwarten könnte).
  • Die Funktion DateAdd zeigt am Ende nicht eine ungültiges Datum Wenn wir z. B. dem 31. Januar 2022 einen Monat hinzufügen, ergibt sich daraus der 28. Februar 2022, nicht der 31. Februar 2022 (den es nicht gibt).
  • Wenn wir mehr als 122 Jahre von jetzt an abziehen und Fehler auftreten würde, weil das Excel-Datum startet von 1. Januar 1990.
  • Das Rückgabedatum der DateAdd-Funktion hängt von der Systemsteuerung Datumseinstellungen.
  • Wir sollten das Datumsargument der DateAdd-Funktion gemäß der Kalender-Eigenschaft Wenn der Kalander Gregorianisch die Eingabe da te Argument sollte auch in Gregorianisch Wenn der Kalender in Hijri ist, muss auch das Datumsargument im gleichen Format sein.

Schlussfolgerung

Jetzt wissen wir, wie man die VBA-Funktion DateAdd in Excel verwendet. Wir hoffen, dass Sie dadurch ermutigt werden, diese Funktion selbstbewusster zu nutzen. Wenn Sie Fragen oder Anregungen haben, vergessen Sie nicht, sie in das Kommentarfeld unten zu schreiben

Hugh West ist ein äußerst erfahrener Excel-Trainer und -Analyst mit über 10 Jahren Erfahrung in der Branche. Er verfügt über einen Bachelor-Abschluss in Rechnungswesen und Finanzen sowie einen Master-Abschluss in Betriebswirtschaft. Hugh hat eine Leidenschaft für das Unterrichten und hat einen einzigartigen Lehransatz entwickelt, der leicht zu befolgen und zu verstehen ist. Seine Expertenkenntnisse in Excel haben Tausenden von Studenten und Berufstätigen auf der ganzen Welt geholfen, ihre Fähigkeiten zu verbessern und in ihrer Karriere herausragende Leistungen zu erbringen. Über seinen Blog teilt Hugh sein Wissen mit der Welt und bietet kostenlose Excel-Tutorials und Online-Schulungen an, um Einzelpersonen und Unternehmen dabei zu helfen, ihr volles Potenzial auszuschöpfen.