Returns a **Variant** of subtype **Date** containing the time for a specific hour, minute, and second.

**TimeSerial(***hour***, ***minute***, ***second***)**

#### Arguments

*hour*
- Number between 0 (12:00 A.M.) and 23 (11:00 P.M.), inclusive, or a numeric expression.
*minute*
- Any numeric expression.
*second*
- Any numeric expression.

#### Remarks

To specify a time, such as 11:59:59, the range of numbers for each **TimeSerial** argument should be in the accepted range for the unit; that is, 0–23 for hours and 0–59 for minutes and seconds. However, you can also specify relative times for each argument using any numeric expression that represents some number of hours, minutes, or seconds before or after a certain time.

The following example uses expressions instead of absolute time numbers. The **TimeSerial** function returns a time for 15 minutes before (-15) six hours before noon (12 - 6), or 5:45:00 A.M.

Dim MyTime1
MyTime1 = **TimeSerial(**

12 - 6**,**

-15**, **

0**)**

' Returns 5:45:00 AM.

When any argument exceeds the accepted range for that argument, it increments to the next larger unit as appropriate. For example, if you specify 75 minutes, it is evaluated as one hour and 15 minutes. However, if any single argument is outside the range -32,768 to 32,767, or if the time specified by the three arguments, either directly or by expression, causes the date to fall outside the acceptable range of dates, an error occurs.

#### Requirements

Version 1

#### See Also

DateSerial Function | DateValue Function | Hour Function | Minute Function | Now Function | Second Function | TimeValue Function