Returns a Date value for a specified year, month, or day.
DateSerial (year, month, day)
Date
Year: Integer expression that indicates a year. All values in the range 0 to 99 are interpreted as the years 1900-1999. For years that fall outside this range, you must enter all four digits.
Month: Integer expression that indicates the month of the specified year. The accepted range is from 1-12.
Day: Integer expression that indicates the day of the specified month. The accepted range is from 1-31. No error is returned when you enter a non-existing day for a month shorter than 31 days.
The DateSerial function returns the number of days between 30th December 1899 and the given date. You can use this function to calculate the difference between two dates.
The DateSerial function returns the data type Variant with VarType 7 (Date). Internally, this value is stored as a Double value, so that when the given date is 01/01/1900, the returned value is 2. Negative values correspond to dates before 30th December 1899 (not inclusive).
If a date is defined that lies outside of the accepted range, Office Basic returns an error message.
Whereas you define the DateValue function as a string that contains the date, the DateSerial function evaluates each of the parameters (year, month, day) as separate numeric expressions.
5 Invalid procedure call
Sub ExampleDateSerial
Dim lDate As Long
Dim sDate As String
lDate = DateSerial(1964, 4, 9)
sDate = DateSerial(1964, 4, 9)
MsgBox lDate ' returns 23476
MsgBox sDate ' returns 09/04/1964
End Sub