fergusor,
Something like:
Dim MyReturnValue as integer
MyReturnValue =messageYearResponse(yearResponse)
If MyReturnValue=False Then 'As 0=False
MsgBox "Must be ....."
Else
'Process.....
End If
Private Function messageYearResponse(ByVal yearResponse As String) As
Integer
Dim RetVal as integer
If yearResponse is a year then
RetVal = convert to integer(yearResponse)
else
RetVal=0
end if
messageYearResponse=RetVal
End Function
You may want to read up on the limitations of the IsNumeric function to see
if it will handle all inputs. Some error handling would be a good idea also.
NickHK
"fergusor " wrote in message
...
Thanks Helen. I've put that line in but how do I use the returned value
when I leave the function?
---
Message posted from http://www.ExcelForum.com/
"Nick Cranham" wrote in message
...
fergusor,
You either need to supply a return value for your function:
Private Function messageYearResponse(ByVal yearResponse As String) As
Integer
'Also, assign the return value:
messageYearResponse=MyReturnValue
End Function
or pass the input ByRef and use a sub
Private Sub messageYearResponse(ByVal yearResponse As String, ByRef
myOutput
as Integer)
NickHK
"fergusor " wrote in message
...
Can anyone help. I'm trying to get a year returned from a function but
it keeps coming back empty.
I'm calling it, sending a string... in this case '2004'
Call messageYearResponse(yearResponse)
Then the function is supposed to return xYear as 2004... instead it's
coming back empty.
Private Function messageYearResponse(ByVal yearResponse As String)
Dim xYear
If yearResponse = "" Then
Exit Function
Else
If IsNumeric(yearResponse) Then
xYear = CInt(yearResponse)
Else
msgbox ("Must be numeric"), vbOKOnly
Resume
End If
End If
End Function
---
Message posted from http://www.ExcelForum.com/