Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Er...tell me again why I can't pass ParamArray to a Function?
Y'all set me straight a year ago on how to "pass" ParamArray to a
another Function (sorry about the Google; don't live in the real world): http://groups.google.com/group/micro...f9ce718998a088 Since then, this works: Function Foo(ParamArray VParams()) As String Dim V() As Variant V = VParams Foo = Bar(V) End Function Function Bar(VParams) As String Dim VParam As Variant For Each VParam In VParams FlogSelfForInvestingIn(VParam) Next Bar = "Dow go bye-bye." End Function *** What I don't understand is why you must use an intermediate var. in Foo. Why can't you do the more intuitive: Function Foo(ParamArray VParams()) As String Foo = Bar(VParams()) End Function Function Bar(ParamArray VParams()) As String etc. Thanks much. *** |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Er...tell me again why I can't pass ParamArray to a Function?
Aw, damn it.
My Q was prompted by several hours' worth of trouble today in trying to remember & reconstruct the syntax I just told you works for me. Turns out, it appears intermediate var V() is NOT necessary. This seems to work: Function Foo(ParamArray VParams()) As String Foo = Bar(VParams) End Function Function Bar(VParams) As String etc. So my only Q now is why Bar's parameter can't be parallel to Foo's. Thanks again. *** |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Er...tell me again why I can't pass ParamArray to a Function?
Because when VParams hits Foo, it is many different parameters, VBA collects
it into an array for ease of use, so you are passing the array on, not each separate parameter. -- __________________________________ HTH Bob wrote in message ... Aw, damn it. My Q was prompted by several hours' worth of trouble today in trying to remember & reconstruct the syntax I just told you works for me. Turns out, it appears intermediate var V() is NOT necessary. This seems to work: Function Foo(ParamArray VParams()) As String Foo = Bar(VParams) End Function Function Bar(VParams) As String etc. So my only Q now is why Bar's parameter can't be parallel to Foo's. Thanks again. *** |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Er...tell me again why I can't pass ParamArray to a Function?
Bob:
OK, thanks very much for answering. I think that sets me straight. *** |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
Er...tell me again why I can't pass ParamArray to a Function?
I can't get that to work unless I use ByVal as in
Function Bar(Byval VParams) As String Which is doing a copy anyway, even if its not explicit. If I don't use ByVal I get a compile error 'Invalid use of ParamArray' (The reason I don't want to do a copy is for performance reasons when the parameter is a formula creating a large result set) Charles ___________________________________ The Excel Calculation Site http://www.decisionmodels.com wrote in message ... Aw, damn it. My Q was prompted by several hours' worth of trouble today in trying to remember & reconstruct the syntax I just told you works for me. Turns out, it appears intermediate var V() is NOT necessary. This seems to work: Function Foo(ParamArray VParams()) As String Foo = Bar(VParams) End Function Function Bar(VParams) As String etc. So my only Q now is why Bar's parameter can't be parallel to Foo's. Thanks again. *** |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Passing ParamArray to another function converts it to TWO dimensions. | Excel Programming | |||
ParamArray debug anomaly | Excel Programming | |||
ParamArray bugs? | Excel Programming | |||
Help with paramarray | Excel Programming | |||
ParamArray | Excel Programming |