ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Returning a string from a function (https://www.excelbanter.com/excel-programming/291715-returning-string-function.html)

fergusor[_2_]

Returning a string from a function
 
Can anyone help. I'm trying to get a year returned from a function bu
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'
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 Functio

--
Message posted from http://www.ExcelForum.com


Helen Trim[_4_]

Returning a string from a function
 

To return a value from a function, you need to set the
name of the function to the value. Add in this line:

messageYearResponse = xYear

just before the End Function line.

HTH
Helen

-----Original 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/

.


fergusor[_3_]

Returning a string from a function
 
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

Returning a string from a function
 
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/




fergusor[_4_]

Returning a string from a function
 
Many thanks for the help guys, all sorted now :)


---
Message posted from http://www.ExcelForum.com/


Nick Cranham

Returning a string from a function
 
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/







All times are GMT +1. The time now is 05:07 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com