VBA 中的 VLOOKUP 函数
    
    
            Iqra Hasnain
    2024年2月15日
    
    VBA
    VBA Function
    
 
我们将通过示例介绍如何在 VBA 中使用 VLOOKUP。
在 VBA 中使用 VLOOKUP() 函数
    
在 Excel 中,我们可以使用 VLOOKUP() 函数在数组中查找一个值并从另一列返回其可比较的值。我们要查看的值应该存在于第一列中。
我们还必须指出我们的要求,无论我们想要完美匹配还是最接近价值的匹配。我们可以使用工作表访问 VLOOKUP。
语法:
# VBA
VLOOKUP(search_value,range,returnIndex_num,[lookupRange])
search_value 表示我们要搜索的值。range 是我们正在处理的范围,returnIndex_num 是我们想要返回值的列号,lookupRange 表示匹配是完美的还是接近的。
lookupRange 有两种可能性,可以是 true 或 false,或 0 或 1。
代码:
#VBA
Application.WorksheetFunction.vlookup(search_value,range,returnIndex_num,[lookupRange])
让我们举个例子,并尝试从中找到一些数据。我们的数据包含自由职业者的 ID、姓名和提交的项目。

如果我们要搜索由具有 ID 4 的自由职业者完成的项目,我们必须使用 VBA 中的 vlookup() 函数找到它们。
首先,我们通过按 ALT + F11 键打开 VBA 编辑器,然后从 Insert > Module 创建一个新模块。接下来,我们创建一个新的子 lookForProj() 并为 freelancer_id 和 projects 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
输出:

让我们再举一个例子。考虑包含产品名称及其销售额的数据,并假设我们已将这些数据添加到列 B 和 C 中。
我们想通过使用 vlookup() 函数来搜索产品的销售数量。首先,让我们从 Insert > Module 创建一个新模块并创建一个新子 lookForSales()。
我们将为 product_id 和 sales 分配变量,并设置我们想要找到自由职业者的范围。
代码:
# 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
输出:

        Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe