I have noticed something strange. Let's say I have a function:
Function ds(l As Long) As String
ds = DateSerial(Year(l), Month(l), Day(l))
End Function
When I type ds(date) I will get string representing current date. If I type ds(1) it returns 31/12/1899. ds(-1) returns 29/12/1899. And then, ds(0) brings: 00:00:00. One could expect 30/12/1899, coudn't he? Well, it is not a matter of life and death, but I am curious, why DateSerial behave this way?