DATEDIFF-funktion i VBA är en inbyggd funktion i VBA som också kategoriseras under datum- och tidsfunktion i VBA, den här funktionen används för att få skillnaden mellan två datum, den här funktionen tar tre argument, det första argumentet är vilken del av skillnaden vi vill ha vilket kan vara år dagar eller månader eller sekunder och två datum och resultatet är ett heltal.
DATEDIFF-funktion i VBA
DATEDIFF-funktionen i VBA beräknar skillnaden mellan två datum i dagar, månader, kvartal och år.
I excel hitta skillnaden mellan två datum har många sätt. Du behöver inte en speciell formel för att beräkna skillnaden mellan två datum.
För ett exempel, se nedanstående bild.
Om vi vill beräkna skillnaden mellan dessa två datum kan vi helt enkelt subtrahera datum 1 från datum 2.
Det har gett oss skillnaden mellan två datum på ett antal dagar. Detta är vad problemet med denna generiska formel. Om vi behöver skillnaden i månader, år, kvartal osv ... kan det inte ge.
I den här artikeln visar vi dig hur du använder den här DateDiff-funktionen i VBA.
Vad är DATEDIFF-funktionen i Excel VBA?
DATEDIFF i VBA står för ”Datumskillnad mellan två datum”.
Denna funktion kan ge oss antalet tidsintervall mellan två datum. När vi vill hitta skillnaden mellan två datum kan vi hitta den i dagar, veckor, månader, kvartal osv.
För att förstå funktionen, se nedanstående syntax för funktionen.
Intervall: Detta bara på vilket sätt du vill beräkna datumskillnaden. Oavsett om det är i dagar, månader, veckor, kvartal osv ... Nedan är listan över detsamma.
Datum 1: Vilket är det första datumet du vill hitta skillnaden.
Datum 2: Vad är det andra datumet du vill hitta skillnaden från Datum 1. Datum 1: Vad är det första datumet du vill hitta skillnaden.
Här är formeln Datum 2 - Datum 1.
[Veckans första dag]: Vad är veckans första dag? Vi kan följa argument.
[Årets första vecka]: Vad är årets första vecka. Vi kan ange följande argument.
Exempel på DATEDIFF-funktion i Excel VBA
Följande är exempel på excel VBA DateDiff.
Du kan ladda ner den här VBA DateDiff-funktionsmallen här - VBA DateDiff-funktionsmallenExempel # 1 - Att hitta skillnader i dagar
Antag att du har två datum “15-01-2018” och “15-01-2019”. Låt oss hitta alla typer av skillnader för dessa två datum.
Steg 1: Skapa först ett makronamn.
Koda:
Sub DateDiff_Example1 () Slut Sub
Steg 2: Definiera två variabler som datum.
Koda:
Sub DateDiff_Example1 () Dim Date1 Som Date Dim Date2 Som Date End Sub
Steg 3: Nu för Date1-variabeln "15-01-2018" och för Date2-variabeln "15-01-2019".
Koda:
Sub DateDiff_Example1 () Dim Date1 Som Date Dim Date2 Som Date Date1 = "15-01-2018" Date2 = "15-01-2019" End Sub
Steg 4: Nu för att lagra resultat definierar du ytterligare en variabel som Long.
Koda:
Sub DateDiff_Example1 () Dim Date1 Som Date Dim Date2 Som Date Dim Resultat Som Long Date1 = "15-01-2018" Date2 = "15-01-2019" End Sub
Steg 5: Tilldela nu värdet för denna variabel genom DATEDIFF-funktionen i VBA
Koda:
Sub DateDiff_Example1 () Dim Date1 Som Date Dim Date2 Som Date Dim Resultat Som Long Date1 = "15-01-2018" Date2 = "15-01-2019" Resultat = DateDiff (End Sub
Steg 6: Första argumentet är vilken typ av skillnad vi behöver mellan dessa två datum. Låt oss säga att vi måste hitta antalet dagar, så ange argumentet som "D".
Koda:
Sub DateDiff_Example1 () Dim Date1 Som Date Dim Date2 Som Date Dim Result as Long Date1 = "15-01-2018" Date2 = "15-01-2019" Resultat = DateDiff ("D", End Sub
Steg 7: Vad är det första datumet för att hitta skillnaden. Vårt första datum är “15-01-2018” som vi redan har tilldelat variabeln “Date1”. Så ange variabelnamnet här.
Koda:
Sub DateDiff_Example1 () Dim Date1 Som Date Dim Date2 Som Date Dim Result as Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff ("D", Date1, End Sub
Steg 8: Vad är det andra datumet för att hitta skillnaden. Det andra datumet är “15-01-2019” som håller värdet genom variabeln “Date2”.
Koda:
Sub DateDiff_Example1 () Dim Date1 Som Date Dim Date2 Som Date Dim Result as Long Date1 = "15-01-2018" Date2 = "15-01-2019" Resultat = 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.