二维码
微世推网

扫一扫关注

当前位置: 首页 » 快闻头条 » 科普 » 正文

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

放大字体  缩小字体 发布日期:2018-06-16 10:35:56    作者:微世推-实习杨玉    浏览次数:317
导读

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

从之前的课程中我们可以知道,匹配数据我们最常用的就是用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

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

 
(文/微世推-实习杨玉)
免责声明
• 
本文仅代表发布者:微世推-实习杨玉个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,需自行承担相应责任。涉及到版权或其他问题,请及时联系我们删除处理邮件:weilaitui@qq.com。
 

Copyright©2015-2025 粤公网安备 44030702000869号

粤ICP备16078936号

微信

关注
微信

微信二维码

WAP二维码

客服

联系
客服

联系客服:

24在线QQ: 770665880

客服电话: 020-82301567

E_mail邮箱: weilaitui@qq.com

微信公众号: weishitui

韩瑞 小英 张泽

工作时间:

周一至周五: 08:00 - 24:00

反馈

用户
反馈