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 には 2つの可能性があり、true または false、または 0 または 1 になります。

コード:

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

例を挙げて、そこからいくつかのデータを見つけてみましょう。フリーランサーの IDNames、および Projects Submitted を含むデータがあります。

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() 関数を使用して、製品ごとの販売数を検索します。まず、挿入>モジュールから新しいモジュールを作成し、新しいサブ 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 の 2 番目の例で vlookup 関数を使用する

関連記事 - VBA Function