大家好,我是海林,今天跟大家分享的VBA小代码主题是数据精确查询与匹配。
我们用王者荣耀的数据来举例,如下图所示。根据A:C列的数据源信息,查询E列英雄名相应的职业类型,如果查询无结果,则返回空白。
此类问题常用的解决办法有三种,一种是Find方法,另一种是If条件判断,以及Vlookup方法。
1.Find方法
Sub RngFind()
Dim Rng1 As Range, Rng2 As Range
Dim arr As Variant, i As Long
Set Rng1 = Range("b1:c" & Cells(Rows.Count, 2).End(xlUp).Row)
'数据源赋值Rng
arr = Range("e1:f" & Cells(Rows.Count, 5).End(xlUp).Row)
'查询区域装入数组arr
For i = 2 To UBound(arr) '遍历查询区域
arr(i, 2) = ""
'清空原结果
Set Rng2 = Rng1.Find(arr(i, 1)