Name
DateSerial Function
Syntax
DateSerial(year,month,day)
yearUse: Required
Data Type: Integer
Number between 0 and 9999, inclusive.
monthUse: Required
Data Type: Integer
Any numeric expression to express the month between 1 and 12.
dayUse: Required
Data Type: Integer
Any numeric expression to express the day between 1 and 31.
Return Value
A Date.
Description
Returns a Date from the three date components (year, month, and day). For the function to succeed, all three components must be present and all must be numeric values.
Rules at a Glance
If the value of a particular element exceeds its normal limits, DateSerial adjusts the date accordingly. For example, if you tried
DateSerial (96,2,31)—February 31, 1996—DateSerial returns March 2, 1996.You can specify expressions or formulas that evaluate to individual date components as parameters to DateSerial. For example,
DateSerial(98,10+9,23)returns 23 March 1999. This makes it easier to use DateSerial to form dates whose individual elements are unknown at design time or that are created on the fly as a result of user input.
Example
Dim iYear, iMonth, iday iYear = 1987 iMonth = 3 + 11 iday = 16 MsgBox DateSerial(iYear, iMonth, iday)
Programming Tips and Gotchas
If any of the parameters exceed the range of the Integer data type (-32,768 to 32,767), an error (runtime error 6, “Overflow”) is generated.
The Microsoft documentation for this function incorrectly states, “For the year argument, values between 0 and 99, inclusive, are interpreted as the years ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access