
VBA自定义函数怎么返回一个#N/A值?
在VBA自定义函数中怎么像EXCEL自带的函数一样返回一个#N/A值?注意是一个特殊的值,而不是字符串。...
在VBA自定义函数中怎么像EXCEL自带的函数一样返回一个#N/A值?
注意是一个特殊的值,而不是字符串。 展开
注意是一个特殊的值,而不是字符串。 展开
2个回答
展开全部
当我们使用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代码是否也能返回这些信息呢?
答案是肯定的,因为模块中的代码本身就可以在公式里调用,那么自然也可以返回这些信息了。
但是,很重要的一点是,这些信息不是文本,而是内置的错误值!
下表给出了一些常用的错误值供参考:
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)
展开全部
利用CVErr函数可以返回错误值
常量 错误号 单元格错误值
xlErrDiv0 2007 #DIV/0!
xlErrNA 2042 #N/A
xlErrName 2029 #NAME?
xlErrNull 2000 #NULL!
xlErrNum 2036 #NUM!
xlErrRef 2023 #REF!
xlErrValue 2015 #VALUE!
比如
Function MyFun(A)
If MyFun="" Then MyFun=CVErr(2042)
End Function
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询