Home » エクセルマクロ・Excel VBAの使い方 » WorksheetFunction » VBAで別シートからVLookup

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

アクセスログを眺めていて、
「エクセル マクロ vlookup 関数 別シート」
「vba vlookup 別のシートの値を参照する」
「vba 他シートでworksheet.function.vlookup関数を使用するときはactivateにしなければならばいのか」
といった検索キーワードに気づきました。

Excel VBAでWorksheetFunction.VLookupメソッドを利用する際、

VBAで別シートからVLookup

別シートからデータ取得するにはどうすればいいのかを、探していた方による検索キーワードです。

[スポンサードリンク]

別シートからVLookupするサンプルマクロ

「マスター」シートに下図のようなデータを入力しておいて、

VBAで別シートからVLookup

別シートのA1セルにキーが入力されているときに、以下のSubプロシージャを実行すると、A1セルに入力されたキーをマスターで調べて2列目の値がB1セルに入力されます。

VBAで別シートからVLookup


Sub 別のシートからVLookup()
 Dim tbl As Range
 Dim key As Long
 Dim ret As String

 Set tbl = Sheets("マスター").Range("A1:B7")
 key = Range("A1").Value

 On Error Resume Next
 ret = WorksheetFunction.VLookup(key, tbl, 2, False)
 On Error GoTo 0
 Range("B1").Value = ret
End Sub

サンプルマクロの解説

ポイントは、
 Set tbl = Sheets("マスター").Range("A1:B7")
の部分です。

VLOOKUP関数の[範囲]に該当する、

VBAで別シートからVLookup

WorksheetFunction.VLookupメソッドの第2引数に指定するRangeオブジェクトを、Worksheetオブジェクトを取得する式から書けば、別シートからデータを取得できます。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » WorksheetFunction » VBAで別シートからVLookup

TrackBack:0

TrackBack URL
[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » WorksheetFunction » VBAで別シートからVLookup

「WorksheetFunction」の記事一覧

検索

Copyright © インストラクターのネタ帳 All Rights Reserved.

.