Function Func(ParamArray Params) as String
... = SubFunc(Params)
End Function
Function SubFunc(ParamArray SubParams) as String
...
End Function
The following (to me) ludicrous kludge fixes the problem, making
SubParams the nice, obedient 1-dim array equivalent to Params that it
should be:
Function Func(ParamArray Params)
... = SubFunc(Params(0))
End Function
What in HELL is this? String theory?
***
When you call Func, you would be passing in argument with comma
seperated values.
e.g. Func(1,2,3,4)
ParamArray is intended for variable number of arguments, which will be
treated as array internally (when inside method)
In case of subfunc, you are passing only 1 argument (which is an array
as converted by func)
Looking at the code, you are passing the array entirely to SubFunc.
So, subfunc will create an array & store your array (as you passed it
to Func) - in 0th element
HTH
Kalpesh
Option Explicit
Function tester(arg1 As Variant, ParamArray arg2() As Variant)
Dim vv As Variant
vv = arg2
tester = test2(vv)
End Function
Function test2(varg As Variant)
test2 = varg
End Function
regards
Charles
__________________________________________________
Outlines for my Sessions at the Australia Excel Users Group
http://www.decisionmodels.com/OZEUC.htm
<bao...@my-deja.com> wrote in message
news:83629d48-c581-49fc...@i29g2000prf.googlegroups.com...
Thanks very much for your replies.
And you make me understand what's going on.
Turns out, I was WRONG in saying that passing single element Params(0)
fixed the problem. Params(0) was reduced to 1 dim all right, but it
has only 1 element.
I'll try your suggestion.
Thanks again.
***
Your method works: namely, forget about 'ParamArray' in SubFunc, and
just make the arg an array. I hadn't thought of that. Duh.
Thanks again.
***