大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excel VBAで、「VLookup関数」を使う方法についてご紹介します。方法は2つあって「WorksheetFunction」と「数式埋め込み」です。変数を使う場合は「WorksheetFnction」が簡単です。セルの値を使う場合は「数式埋め込み」が扱いやすいですね。

はじめに

この記事では、VBAでVLookup関数を使う方法について、ご紹介します。

VLookup関数を使う方法は「WorksheetFunction」と「数式埋め込み」の方法があります。

「変数」や「セルの値」を自由に使って、「VLookup関数」を使うことができます。

「変数」を使う場合は「WorksheetFunction」が使いやすいです。

「セルの値」を使って検索する場合は、「数式埋め込み」が簡単ですね。

では、VBAでVLookup関数を使う方法について、解説していきます。

この記事で紹介すること

  • VBAでVLookup関数を使う方法

目次から見たい項目へ移動すると便利ですよ。

目次

VBAコードまとめ

VBAコードまとめ

'■WorksheetFunctionを使う

'VLookup関数を使う
Range("D2") = WorksheetFunction.VLookup("D", Range("A2:B10"), 2, False)

'変数を使う
a = "D" '検索値
b = Range("A2:B10") '範囲
c = 2 '列番号
d = False '完全一致
Range("D2") = WorksheetFunction.VLookup(a, b, c, d)

'セルの値を使う
Range("D2") = WorksheetFunction.VLookup(Range("D1"), Range("A2:B10"), 2, False)

'■数式埋め込みを使う

'VLookup関数を使う
Range("D2") = "=VLOOKUP(""D"",A2:B10,2,FALSE)"

'変数を使う
a = """D""" '検索値
b = "A2:B10" '範囲
c = 2 '列番号
d = False '完全一致
Range("D2") = "=VLOOKUP(" & a & "," & b & "," & c & "," & d & ")"

'セルの値を使う
Range("D2") = "=VLOOKUP(D1,A2:B10,2,FALSE)"

WorksheetFunctionでVLookup関数を使う

「WorksheetFunction」でVLookup関数を使ってみます。

VLookup関数に入力する引数 

VLookup関数に入力する引数は、こんな感じです。

VLookup関数に入力する引数

関数を使うときと同じで、次のようになります。

'VLookupの引数
a = WorksheetFunction.VLookup(検索値, 範囲, 列番号, FalseかTrue)
'4番目の引数・・・完全一致:True、部分一致:False

では、VLookup関数を使ってみます。

VLookup関数を使ってみる 

VLookup関数を使って、「"D"」を検索して「2列目」を取得してみます。

Sub TEST1()
    
    '「"D"」を検索して、2列目を取得
    Range("D2") = WorksheetFunction.VLookup("D", Range("A2:B10"), 2, False)
    
End Sub

表を用意しておきます。

表を用意

表を用意

では、VBAコードを実行してみます。

「"D"」を検索して「2列目」を取得

「

「"D"」を検索して「2列目」を取得できました。

変数を使う

変数を使って、VLookup関数を使ってみます。

「"D"」を検索して、「2列目」を取得してみます。

Sub TEST2()
    
    a = "D" '検索値
    b = Range("A2:B10") '範囲
    c = 2 '列番号
    d = False '完全一致
    
    '「"D"」を検索して、2列目を取得
    Range("D2") = WorksheetFunction.VLookup(a, b, c, d)
    
End Sub

表を用意しておきます。

表を用意

表を用意

では、VBAコードを実行してみます。

変数を使ってVLookupで検索

変数を使ってVLookupで検索

変数を使ってVLookupで検索できました。

セルの値を使う

セルの値を使って、VLookup関数を使ってみます。

「"D"」を検索して、「2列目」を取得します。

Sub TEST3()
    
    '「"D"」を検索して、2列目を取得
    Range("D2") = WorksheetFunction.VLookup(Range("D1"), Range("A2:B10"), 2, False)
    
End Sub

表を用意しておきます。

表を用意

表を用意

では、VBAコードを実行してみます。

セルの値を使ってVLookupで検索

セルの値を使ってVLookupで検索

セルの値を使ってVLookupで検索できました。

埋め込み数式を使ってVLookup関数を使う

次は、「埋め込み数式」を使ってVLookup関数を使ってみます。

セルに数式を埋め込んでVLookup関数を使う

セルにVLookup関数を埋め込んでみます。

「"D"」を検索して「2列目」を取得します。

Sub TEST4()
    
    '「"D"」を検索して、2列目を取得
    Range("D2") = "=VLOOKUP(""D"",A2:B10,2,FALSE)"
    Range("D2").Value = Range("D2").Value '値に変換
    
End Sub

数式埋め込みで文字列を入力する際は、「"D"」を「"」で囲って「""D""」のようにするのがポイントです。

表を用意しておきます。

表を用意

表を用意

では、VBAコードを実行してみます。

「"D"」を検索して「2列目」を取得

「

「"D"」を検索して「2列目」を取得できました。

数式をコピーして使うと簡単

埋め込み数式を使う場合は、「数式をコピー」して使うと簡単です。

数式をコピーして使うと簡単

数式をコピーして使うと簡単

セルに入力した数式をコピーして使います。

変数を使う

変数を使って、埋め込み数式でVLookup関数を使ってみます。

埋め込み数式で変数を使うとちょっとやりづらいですね。

Sub TEST5()
    
    a = """D""" '検索値
    b = "A2:B10" '範囲
    c = 2 '列番号
    d = False '完全一致
    
    '「"D"」を検索して、2列目を取得
    Range("D2") = "=VLOOKUP(" & a & "," & b & "," & c & "," & d & ")"
    Range("D2").Value = Range("D2").Value '値に変換
    
End Sub

表を用意しておきます。

表を用意

表を用意

では、VBAコードを実行してみます。

変数を使ってVLookupで検索

変数を使ってVLookupで検索

変数を使ってVLookupで検索できました。

変数を使いたい場合は、WorksheetFunctionの方がやりやすいですね。

セルの値を使う

セルの値を使って、VLookup関数で検索してみます。

「"D"」を検索して「2列目」を取得します。

Sub TEST6()
    
    '「"D"」を検索して、2列目を取得
    Range("D2") = "=VLOOKUP(D1,A2:B10,2,FALSE)"
    Range("D2").Value = Range("D2").Value '値に変換
    
End Sub

セルの値を使う場合は「数式埋め込み」の方が簡単ですね。

表を用意しておきます。

表を用意

表を用意

では、VBAコードを実行してみます。

セルの値を使ってVLookupで検索

セルの値を使ってVLookupで検索

セルの値を使ってVLookupで検索できました。

おわりに

この記事では、VBAでVLookup関数を使う方法について、ご紹介しました。

VLookup関数を使う方法は「WorksheetFunction」と「数式埋め込み」の方法があります。

「変数」や「セルの値」を自由に使って、「VLookup関数」を使うことができます。

「変数」を使う場合は「WorksheetFunction」が使いやすいです。

「セルの値」を使って検索する場合は、「数式埋め込み」が簡単ですね。

参考になればと思います。最後までご覧くださいまして、ありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

サイト内を検索する

↓キーワードを入力する

アーカイブから探す