我们在使用某些函数时,有些参数不用写,系统会按照默认值来运行的,比如:
如上图,当我们使用Vlookup进行精确匹配时(第4个参数为0),因为找不到所需要查找的值,所以返回错误值。当第4个参数为1时,进行大致匹配,当第4个参数省略不写时,系统会默认为是1,进行大致匹配。
那么自定义函数中,如何让参数省略不写时默认为某个值呢?
还是以上节课中的自定义函数vvlookup为例,我们让第四个参数省略时默认为1,效果如下:
精确查找时:
模糊查找:
代码如下:
Function vvlookup(查找值 As Range, 查找区域 As Range, 返回列 As Integer, Optional 匹配方式 As Integer = 1)
Dim i%, arr, rng
arr = 查找区域
If 匹配方式 = 0 Then
For i = 1 To UBound(arr)
If arr(i, 1) = 查找值 Then
vvlookup = arr(i, 返回列)
End If
Next
ElseIf 匹配方式 = 1 Then
For i = 1 To UBound(arr)
If arr(i, 1) Like "*" & 查找值.Value & "*" Then
vvlookup = arr(i, 返回列)
End If
Next
End If
End Function
要点:
1、红色部分,Optional 匹配方式 As Integer = 1,表示匹配方式这个参数是可选择的,而且默认为1,这是今天的关键知识点。
2、代码部分,匹配方式等于0,循环出的值等于查找值,匹配方式等于1,循环出的值中包含查找值,用like作比较。
今天的分享就到这里了!需要Excel视频(收费)的请联系我微信:527240310
支持鹏哥,请点赞 ↓ ↓ ↓
如果觉得《自定义函数中可选参数的默认值是怎么设置的?》对你有帮助,请点赞、收藏,并留下你的观点哦!