大体でIT

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

大体でIT

Excel VBAで、VLookupを最終行まで繰り返し使う方法について、解説していきます。最終行を取得するには「End」を使います。最終行まで検索するには「WorksheetFunction」の場合は「ループして」検索します。「数式埋め込み」の場合は「セル範囲に一括入力」です。

はじめに

この記事では、VBAでVLookup関数を「最終行まで繰り返し」使う方法について、ご紹介します。

最終行を取得するには「End」を使います。

最終行まで繰り返し使うには、「WorksheetFunction」だと「ループして」使います。

「数式埋め込み」の方法だと「セル範囲に一括で入力」するとできます。

最終行まで検索したい場合は、「数式埋め込み」を使った方がシンプルになります。

では、VBAでVLookup関数を「最終行まで繰り返し」使う方法について、解説していきます。

この記事で紹介すること

  • VBAでVLookup関数を「最終行まで繰り返し」使う方法

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

目次

VBAコードまとめ

VLookup関数で最終行まで検索するVBAコードについて、まとめています。

VBAコードだけ確認したい場合に、ご活用ください。

'「WorksheetFunction」でVLookup関数を使う
For i = 2 To Cells(Rows.Count, "D").End(xlUp).Row '最終行までループ
    With Cells(i, "D")
        .Offset(0, 1) = WorksheetFunction.VLookup(.Value, Range("A2:B15"), 2, False) 'VLookup関数を計算する
    End With
Next
    
'「数式埋め込み」でVLookup関数を使う
a = Cells(Rows.Count, "D").End(xlUp).Row '最終行を取得
Range("E2:E" & a) = "=VLOOKUP(D2,$A$2:$B$15,2,FALSE)" 'VLookup関数を埋め込む
Range("E2:E" & a).Value = Range("E2:E" & a).Value '値に変換

では、解説していきます。

WorksheetFunctionでVLookup関数を繰り返し使う

「WorksheetFunction」でVLookup関数を繰り返し使ってみます。

検索値に一致した値を取得する

まずは、「WorksheetFunction」で「VLookup」を使って検索値に一致した値を取得してみます。

「WorksheetFunction」で「VLookup関数」を使う

「B」を検索値として、「価格」を取得します。

Sub TEST1()
    
    'VLookup関数を計算する
    Cells(2, "E") = WorksheetFunction.VLookup(Cells(2, "D"), Range("A2:B15"), 2, False)
    
End Sub

という感じになります。

ちょっと長いので、「With」でくくっておきます。

「With」でくくる

Sub TEST2()
    
    '「With」でくくる
    With Cells(2, "D")
        'VLookup関数を計算する
        .Offset(0, 1) = WorksheetFunction.VLookup(.Value, Range("A2:B15"), 2, False)
    End With
    
End Sub

条件をセルに入力しておきます。

条件をセルに入力

条件をセルに入力

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

VLookupで値を取得

VLookupで値を取得

VLookupで値を検索して、取得できました。

Forと変数を使って繰り返す

「Forと変数」を使って繰り返してみます。

Sub TEST3()
    
    'ループする
    For i = 2 To 4
        With Cells(i, "D")
            'VLookup関数を計算する
            .Offset(0, 1) = WorksheetFunction.VLookup(.Value, Range("A2:B15"), 2, False)
        End With
    Next
    
End Sub

2~4行目をループして繰り返します。

ループして検索する

ループして検索する

VBAコードを実行した結果をみてみます。

検索した結果

検索した結果

VLookup関数をループして、値を検索できました。

最終行まで繰り返す

最終行まで繰り返してみます。

Sub TEST4()
    
    '最終行までループ
    For i = 2 To Cells(Rows.Count, "D").End(xlUp).Row
        With Cells(i, "D")
            'VLookup関数を計算する
            .Offset(0, 1) = WorksheetFunction.VLookup(.Value, Range("A2:B15"), 2, False)
        End With
    Next
    
End Sub

最終行は「End」で取得することができます。

「End」で最終行を取得

「End」で最終行を取得

という感じです。

取得した最終行を使って、ループします。

最終行までループ

最終行までループ

これで、最終行まで検索して値を取得できます。

ループして検索した結果

ループして検索した結果

最終行までループして値を取得できました。

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

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

検索値に一致した値を取得する

「VLookup関数」を埋め込んで、検索値に一致した値を取得します。

Sub TEST5()
    
    'VLookup関数を埋め込む
    Range("E2") = "=VLOOKUP(D2,A2:B15,2,FALSE)"
    Range("E2").Value = Range("E2").Value '値に変換
    
End Sub

セルに検索値を入力しておきます。

検索値を入力

検索値を入力

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

「数式埋め込み」を使って検索した結果

「数式埋め込み」を使って検索した結果

「数式埋め込み」を使って検索できました。

数式をコピーすると簡単

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

数式をコピーすると簡単

数式をコピーすると簡単

この数式をVBE画面にコピーして使います。

数式を一括で埋め込む

複数で検索したい場合は、「数式を一括で埋め込み」ます。

Sub TEST6()
    
    'VLookup関数を埋め込む
    Range("E2:E4") = "=VLOOKUP(D2,$A$2:$B$15,2,FALSE)"
    Range("E2:E4").Value = Range("E2:E4").Value '値に変換
    
End Sub

「Range("D2:D4")」を指定して数式を埋め込みます。

セル範囲を指定して埋め込み

セル範囲を指定して埋め込み

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

複数で検索できた

複数で検索できた

複数で検索できました。

ループする必要がないのでVBAコードがシンプルですね。

最終行まで検索する

最終行まで検索してみます。

「End」で最終行を取得して最終行までのセル範囲を作成します。

Sub TEST7()
    
    '最終行を取得
    a = Cells(Rows.Count, "D").End(xlUp).Row
    
    'VLookup関数を埋め込む
    Range("E2:E" & a) = "=VLOOKUP(D2,$A$2:$B$15,2,FALSE)"
    Range("E2:E" & a).Value = Range("E2:E" & a).Value '値に変換
    
End Sub

「End」で最終行を取得します。

最終行を取得

最終行を取得

最終行までのセル範囲を指定して、一括で埋め込みます。

一括で埋め込み

一括で埋め込み

では、結果をみてみます。

複数で検索できた

複数で検索できた

最終行までの検索ができました。

おわりに

この記事では、VBAでVLookup関数を「最終行まで繰り返し」使う方法について、ご紹介しました。

最終行を取得するには「End」を使います。

最終行まで繰り返し使うには、「WorksheetFunction」だと「ループして」使います。

「数式埋め込み」の方法だと「セル範囲に一括で入力」するとできます。

最終行まで検索したい場合は、「数式埋め込み」を使った方がシンプルになります。

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

関連する記事から探す

カテゴリから探す

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

サイト内を検索する

↓キーワードを入力する

アーカイブから探す