Vba:別シートからvlookupを使用する方法
VBA を使用して別のシートから VLOOKUP を実行するには、次の基本構文を使用できます。
Sub Vlookup()
Range(" B2 ").Value = WorksheetFunction.Vlookup(Range(" A2 "), Sheets(" Sheet2 ").Range(" A2:C11 "),3,False)
End Sub
この特定の例では、 Sheet2というシートの範囲A2:C11で現在のシートのセルA2の値を検索し、範囲の 3 列目に一致する値を見つけて、その結果を現在のシートのセルB2に割り当てます。
注: Falseへの最後の引数は、完全一致が必要であることを指定します。
次の例は、この構文を実際に使用する方法を示しています。
例: VBA で別のシートから VLOOKUP を使用する方法
Excel ワークブックのSheet2というシートに次のデータ セットがあり、さまざまなバスケットボール選手に関する情報が含まれているとします。
ここで、 Sheet1というシートに移動し、 Sheet2のデータセットでチーム名「Kings」を検索し、 Sheet1の Assists 列で対応する値を返したいとします。
これを行うには、次のマクロを作成できます。
Sub Vlookup()
Range(" B2 ").Value = WorksheetFunction.Vlookup(Range(" A2 "), Sheets(" Sheet2 ").Range(" A2:C11 "),3,False)
End Sub
このマクロを実行すると、次の出力が表示されます。
このマクロは、キングスの3アシストの値を正しく返します。
セルA2のチーム名を変更してマクロを再度実行すると、新しいチーム名のヘルパー値が正しく検索されます。
たとえば、チーム名を「Warriors」に変更し、マクロを再度実行するとします。
マクロはウォリアーズの4アシストの値を正しく返します。
注: VBA VLookupメソッドの完全なドキュメントはここにあります。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。
VBA: インデックス マッチングの使用方法
VBA: 複数の列でシートを並べ替える方法
VBA: 文字列に別の文字列が含まれているかどうかを確認する方法