ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   ParamArray passed multiple times in nested procedures. (https://www.excelbanter.com/excel-programming/411145-paramarray-passed-multiple-times-nested-procedures.html)

Paul D Byrne.

ParamArray passed multiple times in nested procedures.
 
Hi,

Is it possible to pass a ParamArray variable through a number of nested
Sub-routines without using a sheet to dump the values and then re-read or
without getting added dimensions to the variable each time it is passed?

eg First routine called with parmarray, then passed to second procedure from
first.

thanks,

Paul.

Charles Williams

ParamArray passed multiple times in nested procedures.
 
Yes: assign it to a variant and then pass the variant.

Charles
__________________________________________________
The Excel Calculation Site
http://www.decisionmodels.com

"Paul D Byrne." wrote in message
...
Hi,

Is it possible to pass a ParamArray variable through a number of nested
Sub-routines without using a sheet to dump the values and then re-read or
without getting added dimensions to the variable each time it is passed?

eg First routine called with parmarray, then passed to second procedure
from
first.

thanks,

Paul.




Bob Phillips

ParamArray passed multiple times in nested procedures.
 
In the procedure that you receive the ParamArray, you need to assign that
parameter to a variant variable, and then pass that variant variable on
down.

Public Sub Test()

Call FirstCalledSub(1, 2, 3)

End Sub

Sub FirstCalledSub(ParamArray val1())
Dim val2 As Variant
MsgBox val1(1)
val2 = val1
Call SecondCalledSub(val2)
End Sub

Sub SecondCalledSub(passedval As Variant)
Debug.Print passedval(0)
Debug.Print passedval(1)
Debug.Print passedval(2)
End Sub



--
---
HTH

Bob


(there's no email, no snail mail, but somewhere should be gmail in my addy)



"Paul D Byrne." wrote in message
...
Hi,

Is it possible to pass a ParamArray variable through a number of nested
Sub-routines without using a sheet to dump the values and then re-read or
without getting added dimensions to the variable each time it is passed?

eg First routine called with parmarray, then passed to second procedure
from
first.

thanks,

Paul.




Paul D Byrne.

ParamArray passed multiple times in nested procedures.
 
Thanks Charles - have tested it and it works great.

cheers,

Paul.

"Charles Williams" wrote:

Yes: assign it to a variant and then pass the variant.

Charles
__________________________________________________
The Excel Calculation Site
http://www.decisionmodels.com

"Paul D Byrne." wrote in message
...
Hi,

Is it possible to pass a ParamArray variable through a number of nested
Sub-routines without using a sheet to dump the values and then re-read or
without getting added dimensions to the variable each time it is passed?

eg First routine called with parmarray, then passed to second procedure
from
first.

thanks,

Paul.





Paul D Byrne.

ParamArray passed multiple times in nested procedures.
 
Thanks Bob - that does the trick.

cheers,

Paul.

"Bob Phillips" wrote:

In the procedure that you receive the ParamArray, you need to assign that
parameter to a variant variable, and then pass that variant variable on
down.

Public Sub Test()

Call FirstCalledSub(1, 2, 3)

End Sub

Sub FirstCalledSub(ParamArray val1())
Dim val2 As Variant
MsgBox val1(1)
val2 = val1
Call SecondCalledSub(val2)
End Sub

Sub SecondCalledSub(passedval As Variant)
Debug.Print passedval(0)
Debug.Print passedval(1)
Debug.Print passedval(2)
End Sub



--
---
HTH

Bob


(there's no email, no snail mail, but somewhere should be gmail in my addy)



"Paul D Byrne." wrote in message
...
Hi,

Is it possible to pass a ParamArray variable through a number of nested
Sub-routines without using a sheet to dump the values and then re-read or
without getting added dimensions to the variable each time it is passed?

eg First routine called with parmarray, then passed to second procedure
from
first.

thanks,

Paul.






All times are GMT +1. The time now is 01:31 PM.

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