如何在第二列上进行 VLookup 并获取第一列值?

问题描述

我有一张有两列的工作表。 “A”列包含人员姓名,“B”列包含员工 ID。

我读到 VLookup 需要查找范围的第一列。就我而言,我必须对 B 列进行 VLookup 并从 A 列中获取相应的值。

我正在尝试这段代码,但显然它不起作用。

strEmp = Application.WorksheetFunction.VLookup(strEID,wsLookup.Range("B:A").Value,1,False)

** 尝试 **

尝试的解决方案建议作为答案之一。还是没收到。

strEmp = WorksheetFunction.Match(strEID,wsLookup.Range("A2:B500"),0)

解决方法

您需要结合使用 INDEXMATCH

使用 MATCH 查找 B 列中包含您要查找的员工 ID 的行。然后使用INDEX函数在A列中查找对应的名称

,

在 VBA 中你只需要 Match

Dim TableRange as Range
Set TableRange = wsLookup.Range("A:B")
Dim matchRow
matchRow = Application.Match(strEID,TableRange.Columns(2),0)
If Not Iserror(matchRow) then strEmp = TableRange.Cells(matchrow,1)