excel中用宏(VBA)实现VLOOKUP

=VLOOKUP(C2,表2!A:B,2,)

只查一个没意义,写代码的目的就是批量查,示例代码:

Option Explicit

Sub 宏1()
    Dim db, arr, i, rlt
    Set db = CreateObject("Scripting.Dictionary")
    arr = Sheets("表2").UsedRange
    For i = 1 To UBound(arr)
        db(Trim(arr(i, 1))) = Trim(arr(i, 2))
    Next i
    arr = Sheets("表1").UsedRange
    ReDim rlt(1 To UBound(arr), 1 To 1)
    For i = 1 To UBound(arr)
        If db.Exists(Trim(arr(i, 3))) Then rlt(i, 1) = db(Trim(arr(i, 3)))
    Next i
    Sheets("表1").Range("d1").Resize(UBound(rlt), 1) = rlt
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-04-09
=Application.vlookup(C2,Sheets("表2").Range("A:B"),2,0)追答

=Application.vlookup(Range("C2"),Sheets("表2").Range("A:B"),2,0)

相似回答