作者:乔山办公网日期:
返回目录:excel表格制作
只能传百 单元度格,知然后转数道组版。如权下
Function MyTest(rng As Range)
Dim arr() As Variant
Set arr = rng.Value
MyTest = UBound(arr)
End Function
Function F(mYrange As Range)
Dim myArr(1 To 5)
Dim mYr As Range
Dim i As Single
i = 1
For Each mYr In mYrange
myArr(i) = mYr.Value
i = i + 1
Next
F = myArr(1) + myArr(2) * myArr(3) + myArr(4) + myArr(5)
End Function
可以的。要点有两个:一是在百自定义函数中定义一个数组来存放相关值,如度dim a(2),然后对其赋值:a(1)=5,a(2)=10,并将数组值赋给函数。第二个要点是如何调用版。调用时,需定义一个变体变量,如 dim c As Variant。假设自定义函数权的函数名是 d,则调用可写作
c=d(相应参数)
这时,c(1)=5,c(2)=10
你这个要求不能实现啊,我用了ParamArray 关键字,用来指定一个 任意元素e79fa5e98193e58685e5aeb9332个数 的数组
共参考:
---------
Function shuzu(ParamArray x())
Application.Volatile
Dim i, n, m, tmp
n = UBound(x) - LBound(x) + 1
If n Mod 2 <> 0 Then tmp = "#Err_x()": GoTo 1000
n = n / 2
m = LBound(x)
For i = 1 To n
tmp = tmp + x(m + i - 1) * x(m + i - 1 + n)
Next
1000:
shuzu = tmp
End Function
-----------
输入公式的时候,需要 成对 的元素,套用你的公式如下:
=shuzu((K5,L5,M7,N9),(M13,L15,K13,M17))
可以输入任意 成对的 元素,比如使用10个参数:
=shuzu((K5,L5,M7,N9,M10),(M13,L15,K13,M17,N20))