![]() |
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. |
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. |
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. |
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. |
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