VBA DateDiff-Funktion

Die DATEDIFF-Funktion in VBA ist eine in VBA integrierte Funktion, die auch in VBA unter Datums- und Zeitfunktion kategorisiert ist. Diese Funktion wird verwendet, um die Differenz zwischen zwei Daten zu ermitteln. Diese Funktion verwendet drei Argumente. Das erste Argument ist, welcher Teil der Differenz wir wollen Dies können Jahr, Tage, Monate, Sekunden und zwei Daten sein. Das Ergebnis ist eine Ganzzahl.

DATEDIFF-Funktion in VBA

Die DATEDIFF-Funktion in VBA berechnet die Differenz zwischen zwei Daten in Tagen, Monaten, Quartalen und Jahren.

In Excel hat das Finden des Unterschieds zwischen zwei Daten viele Möglichkeiten. Sie benötigen keine spezielle Formel, um die Differenz zwischen zwei Daten zu berechnen.

Ein Beispiel finden Sie im folgenden Bild.

Wenn wir die Differenz zwischen diesen beiden Daten berechnen möchten, können wir einfach das Datum 1 vom Datum 2 abziehen.

Es hat uns den Unterschied zwischen zwei Daten in mehreren Tagen gegeben. Dies ist das Problem mit dieser generischen Formel. Wenn wir den Unterschied in Monaten, Jahren, Quartalen usw. brauchen, kann er nicht geben.

In diesem Artikel zeigen wir Ihnen, wie Sie diese DateDiff-Funktion in VBA verwenden.

Was ist die DATEDIFF-Funktion in Excel VBA?

DATEDIFF in VBA steht für " Datumsdifferenz zwischen zwei Daten".

Diese Funktion kann uns die Nummer des Zeitintervalls zwischen zwei Daten geben. Wenn wir den Unterschied zwischen zwei Daten finden wollen, können wir ihn in Tagen, Wochen, Monaten, Quartalen usw. finden.

Um die Funktion zu verstehen, sehen Sie sich die folgende Syntax der Funktion an.

Intervall: Dies ist nichts anderes als die Art und Weise, wie Sie die Datumsdifferenz berechnen möchten. Ob in Tagen, Monaten, Wochen, Quartalen usw. Nachfolgend finden Sie eine Liste derselben.

Datum 1: Was ist das erste Datum, an dem Sie den Unterschied feststellen möchten?

Datum 2: Was ist das zweite Datum, an dem Sie den Unterschied zu Datum 1 ermitteln möchten? Datum 1: Was ist das erste Datum, an dem Sie den Unterschied ermitteln möchten.

Hier lautet die Formel Datum 2 - Datum 1.

[Erster Wochentag]: Was ist der erste Tag der Woche? Wir können folgenden Argumenten folgen.

[Erste Woche des Jahres]: Was ist die erste Woche des Jahres? Wir können die folgenden Argumente eingeben.

Beispiele für die DATEDIFF-Funktion in Excel VBA

Im Folgenden finden Sie Beispiele für Excel VBA DateDiff.

Sie können diese VBA DateDiff-Funktionsvorlage hier herunterladen - VBA DateDiff-Funktionsvorlage

Beispiel 1 - Unterschiede in Tagen finden

Angenommen, Sie haben zwei Daten: "15-01-2018" und "15-01-2019". Lassen Sie uns alle möglichen Unterschiede für diese beiden Daten finden.

Schritt 1: Erstellen Sie zuerst einen Makronamen.

Code:

 Sub DateDiff_Example1 () End Sub 

Schritt 2: Definieren Sie zwei Variablen als Datum.

Code:

 Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date End Sub 

Schritt 3: Weisen Sie nun für die Variable Date1 „15-01-2018“ und für die Variable Date2 „15-01-2019“ zu.

Code:

 Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date Date1 = "15-01-2018" Date2 = "15-01-2019" End Sub 

Schritt 4: Um nun die Ergebnisse zu speichern, definieren Sie eine weitere Variable als Long.

Code:

 Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date Dim Ergebnis As Long Date1 = "15-01-2018" Date2 = "15-01-2019" End Sub 

Schritt 5: Weisen Sie nun den Wert für diese Variable über die Funktion DATEDIFF in VBA zu

Code:

 Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date Dim Ergebnis As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff (End Sub 

Schritt 6: Das erste Argument ist, welchen Unterschied wir zwischen diesen beiden Daten benötigen. Nehmen wir an, wir müssen die Anzahl der Tage ermitteln, also geben Sie das Argument als "D" an.

Code:

 Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date Dim Ergebnis As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff ("D", End Sub 

Schritt 7: Was ist das erste Datum, um den Unterschied zu finden. Unser erstes Datum ist "15-01-2018", das wir bereits der Variablen "Date1" zugewiesen haben. Geben Sie hier den Variablennamen an.

Code:

 Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date Dim Ergebnis As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff ("D", Date1, End Sub 

Schritt 8: Was ist das zweite Datum, um den Unterschied zu finden. Das zweite Datum ist "15-01-2019", das den Wert durch die Variable "Date2" enthält.

Code:

 Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date Dim Ergebnis As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff ("D", Date1, Date2) End Sub 

Step 9: Ignore the last two parameters. Now assign the value of variable “Result” through the VBA message box.

Code:

 Sub DateDiff_Example1() Dim Date1 As Date Dim Date2 As Date Dim Result As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff("D", Date1, Date2) MsgBox Result End Sub 

Now run the code using F5 key or manually, we will get the difference between these two dates in a number of days.

So, from “15-01-2018” to 15-01-2019” the exact difference is 1 year, so we got 365 days as the result.

Like this, we can find the difference between two dates in time intervals.

Example #2 – To Find Difference in Months

Code:

 Sub DateDiff_Example2() Dim Date1 As Date Dim Date2 As Date Dim Result As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff("M", Date1, Date2) MsgBox Result End Sub 

 

Run this code Using the F5 key or you can run manually to show the result as given below.

Example #3 – To Find Difference in Years

Code:

 Sub DateDiff_Example3() Dim Date1 As Date Dim Date2 As Date Dim Result As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff("YYYY", Date1, Date2) MsgBox Result End Sub 

Run this code using the F5 key or manually to see the result.

Assignment as a Practice

I hope you have understood the function of VBA DATEDIFF. Take look at the below homework for you. Find the difference between the below dates in “Months”.

If you have not found the way below is the readymade code for you.

Code:

 Sub Assignment() Dim k As Long For k = 2 To 8 Cells(k, 3).Value = DateDiff("M", Cells(k, 1), Cells(k, 2)) Next k End Sub 

You can run this code manually or press the F5 key to see the result.