Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA:ParamArray()具有值集而不是单个值_Vba_Excel - Fatal编程技术网

VBA:ParamArray()具有值集而不是单个值

VBA:ParamArray()具有值集而不是单个值,vba,excel,Vba,Excel,在Excel VBA中,我了解如何使用ParamArray(),但有没有一种方法可以要求参数集,而不是一次只需要一个参数。比如,sum(val1,val2,val3,…)允许您一次输入一个值,但是使用sumifs(a:a,rng1,val1,rng2,val2,…)您需要将rng和val作为一个集合。有没有一种方法可以通过用户定义的函数实现这一点 我觉得这只是我需要在代码中做的事情,但我希望从一开始就纠正它 Function foo(bar As String, ParamArray names

在Excel VBA中,我了解如何使用
ParamArray()
,但有没有一种方法可以要求参数集,而不是一次只需要一个参数。比如,
sum(val1,val2,val3,…)
允许您一次输入一个值,但是使用
sumifs(a:a,rng1,val1,rng2,val2,…)
您需要将
rng
val
作为一个集合。有没有一种方法可以通过用户定义的函数实现这一点

我觉得这只是我需要在代码中做的事情,但我希望从一开始就纠正它

Function foo(bar As String, ParamArray names() As String, ParamArray attributs() As Range) As String
    ...
End Function
在牢房里

=foo("hello", "name", A2:A5, "age", B2:B5, "address", C2:C5)

如果没有为paramarray变量指定任何类型,那么如果需要paramarray包含成对的值,则可以传递任何类型,然后检查ubound,如果是偶数,则引发错误。可以肯定的是,没有预先的方法“强制”用户使用正确数量的参数来调用它。