Can a function return two values?
Here are two ideas. These can be made shorter, but I assume these are part
of something more complex.
Sub TestIt()
Debug.Print GE(5)
End Sub
Function GE(a)
'This is the main Function
Dim v
v = ff(a)
GE = Elevation(v)
End Function
Function ff(a)
' Returns station and offset to the main function
ff = Array(a + 1, a ^ 2 + 1)
End Function
Function Elevation(v)
Dim Station
Dim Offset
Station = v(0)
Offset = v(1)
Elevation = Station + Offset
End Function
' Another just for ideas
'========================
Function GE(a)
'This is the main Function
Dim Station
Dim Offset
Dim Temp
Temp = ff(a)
Station = Temp(0)
Offset = Temp(1)
GE = Elevation(Station, Offset)
End Function
Function ff(a)
' Returns station and offset to the main function
ff = Array(a + 1, a ^ 2 + 1)
End Function
Function Elevation(Station, Offset)
Elevation = Station + Offset
End Function
As you can see, there are many ways. Just depends on what you need. One
function to change "a" to Elevation would probably be better, but it
depends...
HTH
Dana DeLouis
"Anil K." wrote in message
...
Is it possible for a function to return two values to be
used in another function?
Suppose I need a function "ff" to calculate two variables
called "station" and "offset". Is it possible to return
both these variables to be used in another function
called "elevation(station, offset)"?
A very rough algorithm follows -
Function GE()
'This is the main function
Dim a as long
Call ff(a)
GE = elevation(station, offset)
End Function
Function ff( var as long)
'Returns station and offset to the main function
station = a +1
offset = a^2+1
'How do I return both station and offset?
??
End Function
Function elevation (station as long, offset as long)
elevation = station + offset (for simplicity)
End Function
THANKS IN ADVANCE.
|