2016 - 2024

感恩一路有你

自定义VBA函数实现一对多查找

浏览量:2371 时间:2024-03-08 07:28:53 作者:采采

VBA自定义函数可以帮助用户在Excel中更高效地进行数据处理和查找操作。其中,自定义NVLOOKUP函数能够实现一对多的查找功能,让查找过程更简单易用,同时具有通用性。

步骤一:打开VBA编辑器

首先,在Excel表格中打开需要进行一对多查找的工作表,接着通过鼠标右击工作表名称,选择“查看代码”来打开VBA编辑器。

步骤二:插入新模块

在VBA编辑器中,使用鼠标右键点击左侧项目窗口中的任意位置,选择“插入” -> “模块”,以便添加一个新的VBA模块。

步骤三:粘贴自定义函数代码

双击新插入的模块,在代码框中粘贴以下自定义函数代码:

```vba

Function nvlookup(zhi As String, rng As Range, col As Integer, val As Integer)

'----自定义函数表达式:nvlookup(查找对象,查找范围,列号,精确查找)。精确查找的值填写0或其他任意数字即可

Dim i As Long

arr '设定数组arr为所选查找范围的值

For i 1 To UBound(arr) '循环行

If arr(i, 1) zhi Then '判断范围内的第一列是否等于查找值

n n 1 '用于下方使用

If n 1 Then '判断第一个出现

mytxt arr(i, col) '符合第一次出现时显示的结果形式

Else

mytxt mytxt ";" arr(i, col) '多个符合的结果,结果的显示方式用分号“;”间隔

End If

End If

Next i

If Len(mytxt) > 1 Then

nvlookup mytxt 'mytxt查询到结果,自定义函数返回结果为mytxt的值

Else

nvlookup "查找不到" '查询不到结果,自定义函数返回“查找不到”

End If

End Function

```

使用自定义函数

完成以上步骤后,可以点击左上角的Excel图标或右上角的关闭/最小化按钮返回Excel操作界面。然后,在Excel中使用输入自定义的函数`NVLOOKUP`,按要求完整填写公式并查找所需信息。

结果处理

当查找完成后,如果不再需要继续使用该函数,建议先将结果复制,然后通过鼠标右键选择性粘贴为数值,最后移除已经添加的VBA模块,以保持文件整洁。

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