Article ID: 182432
Article Last Modified on 7/13/2007
x = DateValue("12/30/1899") ' returns 0 or zero
x = DateValue("12/31/1899") ' returns 1
x = DateValue("12/5/1992") ' returns 33943
The Sgn() function is used to determine if the difference between two dates
is a negative (date in the past) or positive (date in the future) number.
Sub DayDiff()
Dim sDate As String
Dim intNumDays As Integer
On Error GoTo errhandler
' Prompt for a date.
sDate = InputBox$("Enter a date in the mm/dd/yyyy format")
' Get difference between dates.
intNumDays = CInt(DateValue(sDate) - Now())
' Determine if difference is past or future.
If Sgn(intNumDays) = 1 Then
MsgBox "Days between " + sDate + " and today :" + CStr(intNumDays)
Else
MsgBox "The date " + sDate + " was" + CStr(Abs(intNumDays)) _
+ " day(s) ago."
End If
errhandler:
If Err > 0 Then MsgBox "Please enter a valid date."
End Sub
For additional information, please see the following article in the
Microsoft Knowledge Base:
181058 OFF98: How to Run Sample Code from Knowledge Base Articles
163435 VBA: Programming Resources for Visual Basic for Applications
Additional query words: wordcon vb vba vbe calculate difference
Keywords: kbcode kbdtacode kbhowto kbmacroexample kbprogramming KB182432