First of all, you should have an 'Exit Function' immediately
before your Errfunction label. But more importantly, if you are
trying to call this function from a worksheet cell, it won't work
because you are attempting the change the value of a cell. A
function that is called from a worksheet cell may only return a
value to the calling cell. It may not change any part of the
Excel environment, and that includes changing the value of a
cell.
Try
Public Function returndate(inidate As Date) As Date
Dim calcdate As Double
calcdate = CDbl(inidate + 5)
On Error GoTo Errfunction
returndate = calcdate
Exit Function
Errfunction:
MsgBox Err.Description
MsgBox Err.Number
End Function
--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com
"Panagiotis Marantos"
wrote in message
...
i am trying to create a simple code (before i make it more
complicated) but i
fall on the first hurdle.
what is wrong with this?
Public Function returndate(inidate As Date) As Date
Dim calcdate As Double
calcdate = CDbl(inidate + 5)
On Error GoTo Errfunction
Application.Worksheets("Dates Lookup").Range("D6").Value =
calcdate
Errfunction:
MsgBox Err.Description
MsgBox Err.Number
End Function