VBA自定义函数,当参数是数组时,该如何书写?
比如excelsum函数,参数是输入数组A1:A100,结果就是A1:A100这个数组里面100个数字的和.如果我想用自定义函数,写出sum这个函数,该怎么写?...
比如excel sum函数,参数是输入数组 A1:A100,结果就是A1:A100这个数组里面100个数字的和.
如果我想用自定义函数,写出sum 这个函数,该怎么写? 展开
如果我想用自定义函数,写出sum 这个函数,该怎么写? 展开
2个回答
展开全部
两个都可以,第二个不能引用 单元格区域,每个单元格都是一个参数,需要用逗号分隔
第一个比较接近内置函数SUM'
Option Explicit
Function Ssum(ByVal range As range) As Double
Dim rng As range
For Each rng In range
Ssum = Ssum + rng.Value
Next rng
End Function
Function Ssum0(ParamArray arr()) As Double
Dim i As Integer
For i = LBound(arr) To UBound(arr)
If IsNumeric(arr(i)) Then
Ssum0 = Ssum0 + arr(i)
End If
Next i
End Function
追问
假设我输入了A1:A100,含有100个数字的数组作为变量
在自定义函数中,需要取第50个数字,进行相关的运算
比如: ssum=第50个数字
这句话该怎么用VBA写?
追答
你可以把50个数字放在一个新数组里面,额,看你这意思,其实是要遍历数据求和呢,我给你写的都是引用单元格求和的 自定义函数
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询