Howw can I make a function return a date in date format
You will have to move the bits around as I couldn't make out from your post
what is year, month and day.
A date in Excel is an integer number, so to show it has a recognizable date
you will need to format it.
As an example:
Dim d As Date
d = DateSerial(2010, 1, 20)
MsgBox Format(d, "dd/mmm/yyyy")
RBS
"Jan Kronsell" wrote in message
...
Unfortunately it still returns an unformated number. And even more
unfortunate, the number is now wrong. In stead of returning 40198 as
supposed, it returns 40756.
Jan
RB Smissaert wrote:
Try something like this:
CprTilDato = DateSerial(CInt(bytCent & bytCprYear), _
CInt(Left$(cpr, 2)), _
CInt(Mid$(cpr, 3, 2)))
RBS
"Jan Kronsell" wrote in message
...
I have a function like this
Function CprTilDato(cpr As String) As Date
a lot of code here.....
CprTilDato = Left(cpr, 2) & "-" & Mid(cpr, 3, 2) & "-" &
bytCent & bytCprYear
End Function
where
bytCent = 20
bytCprYear = 10
Left(Cpr, 2) = 20
Mid(cpr, 3,2) = 01
I want it to return a date in format dd-mm-yyyy but it returns the
value, like instead of returning 20-01-2010 today, it returns 40198.
If I change declaration of the function to
Function CprTilDato(cpr As String) As String
it returns the date allright, but as a string as it should, and then
I can't use the result for calculations.
I can format the cell afterwards of cause, but is'nt it possible to
have the function returning a formated date value?
I tried stuff like
CprTilDato = Format(CprTilDato, "dd-mm-yyyy")
CprTilDato = Format(CDate(CprTilDato), "dd-mm-yyyy")
CprTilDato = CDate(CprTilDato)
CprTilDato = DateSerial(bytCent & bytCprYear, Mid(cpr, 3, 2),
Left(cpr, 2))
but so far, no good.
Jan
|