VBA函数数组参数的问题,用单元格传递不行

我在VBA的模块中插入了一个函数,作用是计算向量的2范数如下publicfunctionfanshu(ParamArraya()asVariant)dimiaslongf... 我在VBA的模块中插入了一个函数,作用是计算向量的2范数如下
public function fanshu(ParamArray a() as Variant)
dim i as long
fanshu=0
for i=0 to UBound(a())
fanshu=fanshu+a(i)^2
next i
fanshu=Sqr(fanshu)
end function
参数用数组表示能得出正确结果如在单元格输入=fanshu(1,2,3,4)没问题
但在单元格A1到A4分别输入1,2,3,4 在A5中输入=fanshu(A1:A4)却得到错误#VALUE!
请问如何定义参数使得用选中单元格的方式来传递参数?
一楼的果然可以,可这样输入数组又不行了,=fanshu(1,2,3,4)错误#VALUE!怎样两种方式都行?
展开
 我来答
tomato9931
2010-09-23 · TA获得超过705个赞
知道小有建树答主
回答量:390
采纳率:50%
帮助的人:188万
展开全部
Public Function fanshu(rng As Range)
Dim Cell As Range
fanshu = 0
For Each Cell In rng
fanshu = fanshu + Cell ^ 2
Next
fanshu = Sqr(fanshu)
End Function
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式