VBA 中的 VLOOKUP 函数

Iqra Hasnain 2024年2月15日
VBA 中的 VLOOKUP 函数

我们将通过示例介绍如何在 VBA 中使用 VLOOKUP

在 VBA 中使用 VLOOKUP() 函数

在 Excel 中,我们可以使用 VLOOKUP() 函数在数组中查找一个值并从另一列返回其可比较的值。我们要查看的值应该存在于第一列中。

我们还必须指出我们的要求,无论我们想要完美匹配还是最接近价值的匹配。我们可以使用工作表访问 VLOOKUP

语法:

# VBA
VLOOKUP(search_value,range,returnIndex_num,[lookupRange])

search_value 表示我们要搜索的值。range 是我们正在处理的范围,returnIndex_num 是我们想要返回值的列号,lookupRange 表示匹配是完美的还是接近的。

lookupRange 有两种可能性,可以是 truefalse,或 01

代码:

#VBA
Application.WorksheetFunction.vlookup(search_value,range,returnIndex_num,[lookupRange])

让我们举个例子,并尝试从中找到一些数据。我们的数据包含自由职业者的 ID姓名提交的项目

VBA 中 vlookup 函数的样本数据

如果我们要搜索由具有 ID 4 的自由职业者完成的项目,我们必须使用 VBA 中的 vlookup() 函数找到它们。

首先,我们通过按 ALT + F11 键打开 VBA 编辑器,然后从 Insert > Module 创建一个新模块。接下来,我们创建一个新的子 lookForProj() 并为 freelancer_idprojects completed 分配变量。

我们还将设置我们想要找到自由职业者的范围。

代码:

#VBA
Sub lookForProj()
Dim freelancer_id As Long
Dim projects As Long
freelancer_id = 4
Set newRange = Range("A2:C6")
projects = Application.WorksheetFunction.VLookup(freelancer_id, newRange, 3, False)
MsgBox "Freelancer with ID: " & freelancer_id & " completed " & projects & " projects"
End Sub

输出:

在 VBA 中使用 vlookup 函数

让我们再举一个例子。考虑包含产品名称及其销售额的数据,并假设我们已将这些数据添加到列 BC 中。

我们想通过使用 vlookup() 函数来搜索产品的销售数量。首先,让我们从 Insert > Module 创建一个新模块并创建一个新子 lookForSales()

我们将为 product_idsales 分配变量,并设置我们想要找到自由职业者的范围。

代码:

# VBA
Sub lookForSales()
Dim product_id As Long
Dim sales As Long
product_id = 2
Set newRange = Range("A2:C6")
sales = Application.WorksheetFunction.VLookup(product_id, newRange, 3, False)
MsgBox "Product with ID: " & product_id & " sold " & sales & " times"
End Sub

输出:

在 VBA 中使用 vlookup 函数第二例

相关文章 - VBA Function