VBA DATEDIFF Function

VBA DateDiff Function in Excel

VBA DateDiff function in Excel is categorized as a Date & Time function. This is a built-in Excel VBA Function. This function returns the difference between two date values, based on the interval specified. We can use this function in VBA and can’t use in Excel.

This function we use in either procedure or function in a VBA editor window in Excel. We can use this VBA DateDiff Function in any number of times in any number of procedures or functions. Let us learn what is the syntax and parameters of the DateDiff function, where we can use this DateDiff Function and real-time examples in Excel VBA.

Syntax of VBA DateDiff Function

The syntax of the DateDiff Function in VBA is

DateDiff(Interval,Date1,Date2,[FirstDayOfWeek],[FirstWeekOfYear])

The DateDiff function returns a string value.

Parameters or Arguments:

The DateDiff function has five arguments in Excel VBA.
where
Interval:The Interval is a required argument. It represents the interval of time to calculate the difference between two Date1 and Date2. Here is a list of interval values.

Interval Description
yyyy Year
q Quarter
m Month
y Day of year
d Day
w Weekday
ww Week
h Hour
n Minute
s Second

Date1:The Date1 is a required argument. It represents date.
Date2:The Date2 is a required argument. It represents date.
[FirstDayOfWeek]:The [FirstDayOfWeek] is an optional constant argument. It represents the first day of the week. If this argument is ignored, Sunday(vbSunday) is the default value.

VB Constant Value Description
vbUseSystem 0 Use the National Language Support(NLS) API setting
vbSunday 1 Sunday (default)
vbMonday 2 Monday
vbTuesday 3 Tuesday
vbWednesday 4 Wednesday
vbThursday 5 Thursday
vbFriday 6 Friday
vbSaturday 7 Saturday

[FirstWeekOfYear]:The [FirstWeekOfYear] is an optional constant argument. It represents the first week of the year. If this argument is ignored, 1st Jan(vbFirstJan1) is the default value.

VB Constant Value Description
vbUseSystem 0 Use the National Language Support(NLS) API setting
vbFirstJan1 1 The week in which January 1 occurs (default)
vbFirstFourDays 2 The first week consists at least four days in the year
vbFirstFullWeek 3 The first full week of the year

Where we can apply or use VBA DateDiff Function?

We can use this DateDiff Function in VBA MS Office 365, MS Excel 2016, MS Excel 2013, 2011, Excel 2010, Excel 2007, Excel 2003, Excel 2016 for Mac, Excel 2011 for Mac, Excel Online, Excel for iPhone, Excel for iPad, Excel for Android tablets and Excel for Android Mobiles.

Example 1: Compute the number of days between a start date and end date

Here is a simple example of the VBA DateDiff function. This below example computes the number of days between a start date and end date.

'Compute the number of days between a start date and end date
Sub VBA_DateDiff_Function_Ex1()

    'Variable declaration
    Dim sDate As Date
    Dim eDate As Date
    Dim iDate As Integer
            
    sDate = "02/04/2018"
    eDate = "04/06/2018"
    
    iDate = DateDiff("d", sDate, eDate)
        
    MsgBox "The number of days between " & sDate & " and " & eDate & " : " & iDate, vbInformation, "VBA DateDiff Function"
    
End Sub

Output: Here is the screen shot of the first example output.
VBA DateDiff Function

Example 2: Compute the number of months between a start date and end date

Let us see one more example of the VBA DateDiff function. This below example computes the number of months between a start date and end date.

'Compute the number of months between a start date and end date
Sub VBA_DateDiff_Function_Ex2()

    'Variable declaration
    Dim sDate As Date
    Dim eDate As Date
    Dim iDate As Integer
            
    sDate = "02/04/2018"
    eDate = "04/06/2018"
    
    iDate = DateDiff("m", sDate, eDate)
        
    MsgBox "The number of months between " & sDate & " and " & eDate & " : " & iDate, vbInformation, "VBA DateDiff Function"
    
End Sub

Output: Here is the screen shot of the second example output.
VBA DateDiff Function

Example 3: Compute the number of years between a start date and end date

Let us see another example of the VBA DateDiff function. This below example computes the number of years between a start date and end date.

'Compute the number of years between a start date and end date
Sub VBA_DateDiff_Function_Ex3()

    'Variable declaration
    Dim sDate As Date
    Dim eDate As Date
    Dim iDate As Integer
            
    sDate = "02/04/2018"
    eDate = "04/06/2025"
    
    iDate = DateDiff("yyyy", sDate, eDate)
        
    MsgBox "The number of years between " & sDate & " and " & eDate & " : " & iDate, vbInformation, "VBA DateDiff Function"
    
End Sub

Output: Here is the screen shot of the third example output.
VBA DateDiff Function

Example 4: Compute the number of weeks between a start date and end date

One more example of the VBA DateDiff function. This below example computes the number of weeks between a start date and end date

'Compute the number of weeks between a start date and end date
Sub VBA_DateDiff_Function_Ex4()

    'Variable declaration
    Dim sDate As Date
    Dim eDate As Date
    Dim iDate As Integer
            
    sDate = "02/04/2018"
    eDate = "04/06/2018"
    
    iDate = DateDiff("w", sDate, eDate)
        
    MsgBox "The number of weeks between " & sDate & " and " & eDate & " : " & iDate, vbInformation, "VBA DateDiff Function"
    
End Sub

Output: Here is the screen shot of the fourth example output.
VBA DateDiff Function

Example 5: Compute the number of hours between a start time and end time

One more example of the VBA DateDiff function. This below example computes the number of hours between a start time and end time.

'Compute the number of hours between a start time and end time
Sub VBA_DateDiff_Function_Ex5()

    'Variable declaration
    Dim sTime As Date
    Dim eTime As Date
    Dim iTime As Integer
            
    sTime = "02:04:10"
    eTime = "08:06:35"
    
    iTime = DateDiff("h", sTime, eTime)
        
    MsgBox "The number of hours between " & sTime & " and " & eTime & " : " & iTime, vbInformation, "VBA DateDiff Function"
    
End Sub

Output: Here is the screen shot of the fifth example output.
VBA DateDiff Function

Instructions to Run VBA Macro Code or Procedure:

You can refer the following link for the step by step instructions.

Instructions to run VBA Macro Code

Other Useful Resources:

Click on the following links of the useful resources. These helps to learn and gain more knowledge.

VBA Tutorial VBA Functions List VBA Arrays in Excel Blog

VBA Editor Keyboard Shortcut Keys List VBA Interview Questions & Answers

Leave a Reply