2016 - 2024

感恩一路有你

c语言返回值可不可以是数组 VBA自定义函数的返回值能是数组吗?

浏览量:1857 时间:2021-03-13 21:50:06 作者:admin

VBA自定义函数的返回值能是数组吗?

可以的。要点有两个:一是在自定义函数中定义一个数组来存放相关值,如dim a(2),然后对其赋值:a(1)=5,a(2)=10,并将数组值赋给函数。第二个要点是如何调用。调用时,需定义一个变体变量,如 dim c As Variant。假设自定义函数的函数名是 d,则调用可写作c=d(相应参数)这时,c(1)=5,c(2)=10

VBA自定义函数的返回值能是数组吗?

当我们使用Excel的内置函数来返回某个值时,如果参数不对,或是找不到,往往会返回#N/A 或者 #Value!等提示信息。

我们在模块中自己编写的VBA代码是否也能返回这些信息呢?

答案是肯定的,因为模块中的代码本身就可以在公式里调用,那么自然也可以返回这些信息了。

但是,很重要的一点是,这些信息不是文本,而是内置的错误值!

下表给出了一些常用的错误值供参考:

Constant Error Number Cell error value

xlErrDiv0 2007 #DIV/0!

xlErrNA 2042 #N/A

xlErrName 2029 #NAME?

xlErrNull 2000 #NULL!

xlErrNum 2036 #NUM!

xlErrRef 2023 #REF!

xlErrValue 2015 #VALUE!

通过调用CVErr(error constant)来返回值,这样在界面上看到的就是我们要显示的错误值了。

例如:

CVErr(xlErrValue)

vba function返回值为数组怎么接收?

假定有如下自定义函数


Function mm()

mm = Array(1, 2, 3, 4, 5)

End Function

若要同时返回mm的所有值的话,选中A1:E1,输入=mm()然后Ctrl Shift 回车结束

也可以用index函数,来从mm()返回的数组中取值,如

=index(mm(),3)

也可以对mm返回的数组进行求和,如


=sum(mm())

也可以对求极值求均值。。。。。。。。。也可以。。。。

c语言返回值可不可以是数组 数组作为函数参数 函数返回值怎么理解

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。