分享

用VBA代替vlookup函数查找数据,让你看看什么叫做速度

 北洋智能 2018-03-09

从之前的课程中我们可以知道,匹配数据我们最常用的就是用Vlookup函数进行精确查找,今天给大家带来一个新的方法,当数据量非常大的时候,那就是用代码的方式给大家进行最快速度的处理。

一、函数匹配:

问题:从左边的数据源中,根据右边的姓名匹配出对应的工号。

函数:=VLOOKUP(F2,A:B,2,0)

解析:当数据量较小的时候,我们可以通过函数进行快速的处理,但是当数据量较大的时候,我们这样做就会不好做。

二、代码匹配:

问 题:当我们日常这类的工作较为频繁的时候,可以采用代码的方式来简化我们的日常工作,效率会提高非常多。

代码介绍:

Sub 引用()

Dim i%, r%'定义变量

Dim arr1, arr2 ’定义数组

arr1 = Sheets('sheet1').[a1].CurrentRegion '表1数据赋值给数组arr1

arr2 = Sheets('sheet1').[f1].CurrentRegion '表2数据赋值给数组arr2

r = 1

For r = 1 To UBound(arr2) '可以看成表2的行数

For i = 1 To UBound(arr1) '可以看成表1的行数

If arr2(r, 1) = arr1(i, 1) Then '可以看成如果表1和表2各自的第1列数据有一样的

arr2(r, 2) = arr1(i, 2) '那么把表1对应的第2列数据赋值给表2的第2列数据

Exit For '结束循环遍历

End If

Next

Next

Sheets('sheet1').[f1].Resize(UBound(arr2), 2) = arr2 '把更新后的数组arr2复制到表2

End Sub

喜欢的话扫描下方的二维码关注一下呗~

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多