Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Can a function return two values?
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. |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Can a function return two values?
Instead of using the result of the function, simply pass the parameters by
value Function GE() 'This is the main function Dim a as long call ff(a,station,offset) GE = elevation(station, offset) End Function Function ff( var1, var2, var3) 'Returns station and offset to the main function var2 = var1 +1 var3 = var1^2+1 End Function "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 - 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. |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Can a function return two values?
Here is an example
Function GE() Dim a As Long Dim station As Long, offset As Long station = 1 offset = 2 a = 3 Call ff(a, station, offset) MsgBox station & ", " & offset GE = elevation(station, offset) MsgBox GE End Function Function ff(var As Long, ByRef station As Long, ByRef offset As Long) station = var + 1 offset = var ^ 2 + 1 End Function Function elevation(station As Long, offset As Long) elevation = station + offset End Function -- HTH Bob Phillips ... looking out across Poole Harbour to the Purbecks (remove nothere from the email address if mailing direct) "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. |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Can a function return two values?
ByRef is the default, so all 3 arguments (var, station & offset) are passed
by reference. The only qualifier actually required is ByVal to switch off passing by reference. "Bob Phillips" wrote in message ... Here is an example Function GE() Dim a As Long Dim station As Long, offset As Long station = 1 offset = 2 a = 3 Call ff(a, station, offset) MsgBox station & ", " & offset GE = elevation(station, offset) MsgBox GE End Function Function ff(var As Long, ByRef station As Long, ByRef offset As Long) station = var + 1 offset = var ^ 2 + 1 End Function Function elevation(station As Long, offset As Long) elevation = station + offset End Function -- HTH Bob Phillips ... looking out across Poole Harbour to the Purbecks (remove nothere from the email address if mailing direct) "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. |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
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. |
#6
Posted to microsoft.public.excel.programming
|
|||
|
|||
Can a function return two values?
Correct, b ut declaring it Byref makes it clearer.
-- HTH Bob Phillips ... looking out across Poole Harbour to the Purbecks (remove nothere from the email address if mailing direct) "Paul Lautman" wrote in message ... ByRef is the default, so all 3 arguments (var, station & offset) are passed by reference. The only qualifier actually required is ByVal to switch off passing by reference. "Bob Phillips" wrote in message ... Here is an example Function GE() Dim a As Long Dim station As Long, offset As Long station = 1 offset = 2 a = 3 Call ff(a, station, offset) MsgBox station & ", " & offset GE = elevation(station, offset) MsgBox GE End Function Function ff(var As Long, ByRef station As Long, ByRef offset As Long) station = var + 1 offset = var ^ 2 + 1 End Function Function elevation(station As Long, offset As Long) elevation = station + offset End Function -- HTH Bob Phillips ... looking out across Poole Harbour to the Purbecks (remove nothere from the email address if mailing direct) "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. |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Address function to return values from min row | Excel Discussion (Misc queries) | |||
IF Function with multiple return values | Excel Worksheet Functions | |||
A Function to Return Top 5 Values Only | Excel Worksheet Functions | |||
How can I use the vlookup function to return a sum of the values? | Excel Discussion (Misc queries) | |||
vlookup function return all values | Excel Worksheet Functions |