乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>VBA</em>自定义函数的返回值能是数组吗

<em>VBA</em>自定义函数的返回值能是数组吗

作者:乔山办公网日期:

返回目录:excel表格制作


只能传 单元格,然后转数组。如下zhidao 

Function MyTest(rng As Range)
    Dim arr() As Variant
   Set arr = rng.Value
    MyTest = UBound(arr)
End Function


当我们使用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)
excel自定义函数(而不是函数)调用excel的自带函数时,在函数前加上这个引用就可以了。即:Application.WorksheetFunction.+函数名

excel函数:
Excel是办公室自动化中非常重要的一款软件。Excel中所提的函数其实是一些预定义的公式,它们使用一些称为参数的特定数值按特定的顺序或结构进行计算。Excel函数一共有11类,分别是数据库函数、日期与时间函数、工程函数、财务函数、信息函数、逻辑函数、查询和引用函数、数学和三角函数、统计函数、文本函数以及用户自定义函数。zd
Excel的数据处理功能在现有的文字处理软件中可以说是独占鳌头,几乎没有什么软件能够与它匹敌。在您学会了Excel的基本操作后,是不是觉得自己一直局限在Excel的操作界面中,而对于Excel的函数功能却始终停留在求和、求平均值等简单的函数应用上呢?难道Excel只能做这些简单的工作吗?其实不然,函数作为Excel处理数据的一个最重要手段,功能是十分强大的,在生活和工作实践中可以有多种应用,您甚至可以用Excel来设计复杂的统计管理表格或者小型的数据库系统。

VBA函数可以返回数组,例子代码:

执行效果:

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网