VBA 中的 VLOOKUP 函式
我們將通過示例介紹如何在 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
輸出: