DateAdd question
Adding a 1 to the number of the month of the date is a reasonable
interpretation, but obviously not what you want.
This represents a way to get the last day. You would have to add your own
logic to determine which approach to use when.
Sub AA()
Dim dStr As Date
Dim d As Date, d1 As Date
dStr = DateSerial(2006, 2, 28)
For i = 1 To 5
d = DateAdd("m", i, dStr)
d1 = DateSerial(Year(dStr), Month(dStr) + i + 1, 0)
MsgBox d & vbNewLine & d1
Next i
End Sub
--
Regards,
Tom Ogilvy
"CG Rosén" wrote:
Good day Group,
Have some problem to understand the DateAdd function.
Seems that if the start date is a month with a last date of 28 and 30
the DateAdd function does not add a month in the way that the following
month will be shown with its last date. It works if the start date is a
month
that with a last date of 31.
The problem can be checked by following code.
Is this the way it is supposed to be or am I doing this the wrong way?
str = "2006-02-28"
For i = 1 To 5
d = DateAdd("m", i, str)
MsgBox d
Next i
Brgds
CG Rosen
|