目次
特定の値や要素を検索したり、見たりするために、MS Excelはさまざまな機能を提供しています。 ブイルック この関数は、任意のデータセットから目的のデータを検索するのに役立ちます。 完全一致か近似一致かを指定することができます。 この関数は、Excelの数式で使用するだけでなく、VBAコードでも使用できます。 この記事では、この関数をどのように使用するかを見ていきます。 VLOOKUP機能 をVBAで作成します。
練習用ワークブックをダウンロードする
VBAのVLOOKUP.xlsmVBAでVLOOKUPを使用する4つの方法
1.VBAでVLOOKUPを使って手動でデータを検索する
ID、Name、Department、Joining Date、Salaryからなる社員情報データセットがあるとします。 ここで、社員情報をIDを使って手動で調べることにします。 ここでは、社員の給与をIDを使って調べることにします。
ステップ1. 選択 ビジュアルベーシック 下 デベロッパー タブ (ショートカット Alt + F11 )
ステップ2. そうすれば窓ができる。 モジュール オプションで インサート ボタン
ステップ3. 次に、VBAコンソールで次のコードを書き、[OK]を押します。 実行 ボタン(ショートカット F5 )
コード
Sub vlookup_function_1() Dim Employee_id As Long Dim salary As Long Employee_id = 1144 Set myerange = Range("B4:F11") salary = Application.WorksheetFunction.VLookup(Employee_id, myerange, 5, False) MsgBox "Employee ID:" & Employee_id & " Salary " & "$" & salary End Sub.
ステップ4. メッセージポップが表示され、情報が表示されます。
続きを読む VLOOKUPでExcelの文字列を検索する(4つの簡単な方法)
2.VBAでVLOOKUPを使って入力でデータを検索する
それでは、テーブルや範囲から入力でデータを検索したり、抽出したりする方法を紹介します。 図のように、社員情報テーブルから入力されたIDの名前を検索してみます。
ステップ1. まず、同じ手順1~手順2でVBAコンソールを開きます。
ステップ2. 次に、VBAウィンドウに次のコードを入力します。
コード
Sub vlookup_function_2() Set myerange = Range("B4:F11") Set ID = Range("D13") Set Name = Range("D14") Name.Value = Application.WorksheetFunction.VLookup(ID, myerange, 2, False) End Sub
ステップ3. 任意のIDをセルに入力 D13 というコードを実行します。
ステップ4. があります。 名称 IDに対して保存されているものが表示されます
続きを読む ExcelのVLOOKUPを使った10のベストプラクティス
類似の読み物
- VLOOKUPが動作しない(8つの理由と解決策)。
- INDEX MATCHとVLOOKUP関数の比較 (9例)
- ExcelでVLOOKUPを複数条件で使用する(6つの方法+代替案)
- Excel VLOOKUPで列の最後の値を検索する(代替案あり)
- Excel VLOOKUPで複数の値を縦に返す
3.VBAでVLOOKUPを使って入力ボックスで情報を検索する
VBAの入力ボックスを使ってデータを検索する方法を見てみましょう。 検索には ブイルック データセットは同じですが、検索方法が異なります。 ここでは、IDと部署を入力して、従業員の給与を検索します。
ステップ1. まず、同じ手順1~手順2で、VBAのウィンドウを開きます。
ステップ2. ここで、VBAコンソールに以下のコードを入力し 実行 それ
コード
Sub vlookup_function_3() For i = 4 To Cells(Rows.Count, "B").End(xlUp).Row Cells(i, "A").Value = Cells(i, "B").Value & "_" & Cells(i, "D").Value Next i End Sub
ステップ3. これは、ID と Department を最初の列に含む結合文字列を表示します。
ステップ4. もう一度VBAコンソールに行き、完全なコードを入力し、再度実行します。
コード
Sub vlookup_function_3() For i = 4 To Cells(Rows.Count, "B").End(xlUp).Row Cells(i, "A").Value = Cells(i, "B").Value & "_" & Cells(i, "D").Value Next i Dim ID As Long Dim department As String Dim lookup_val As String Dim salary As Long ID = InputBox("Enter the ID of employee") department = InputBox("Enter the department of employee") lookup_val = ID & "_" & department On.Error GoTo Message check: salary = Application.WorksheetFunction.VLookup(Lookup_val, Range("A:F"), 6, False) MsgBox ("The salary of the employee is $" & salary) Message: If Err.Number = 1004 Then MsgBox ("Employee data not present") End If End Sub.
コード説明
- まず最初に。 Cells(i, "A").Value = Cells(i, "B").Value & "_" & Cells(i, "D").Value このコードでは、ID と Department を連結した値を A カラムに格納しています。
- lookup_val = ID & "_" & 部門 これは、ルックアップの値がIDと部署であることを定義しています。
- salary = Application.WorksheetFunction.VLookup(lookup_val, Range("A: F"), 6, False) ここでは,マッチした従業員の給与を,変数 給与
- If Err.Number = 1004 Then これは条件チェックで、エラー番号が1004かどうかをチェックしています。 Excel VBAの1004というコードは、検索した値が見つからない、削除された、または除去されたことを意味します。
ステップ5. この写真のようなポップアップが表示されます。 入力します。 ID と 部署名 ちくじょう
ステップ6. を押した後 オッケー ボタンをクリックすると、最終的な出力が表示されます。
ステップ7. 間違って入力した場合 ID または 部です。 というメッセージが表示されます。
続きを読む エクセルで複数の条件を指定してVLOOKUPする方法(2つの方法)
4.VBAでVLOOKUPを使ってボタンで情報を検索する
では、手動でコードを実行する代わりに、ボタンの助けを借りて情報を見つける方法を見てみましょう。 ここでも、データセットは上記と同じものを使用します。
ステップ1. 最初に選択する インサート のオプションがあります。 デベロッパー タブ
ステップ2. 次に、以下を選択します。 ボタン からのオプション インサート
ステップ3. 必要なボタンを配置し、ボタンの名前を指定します。
ステップ4. ここでボタンを右クリックし マクロを割り当てる
ステップ5. ここで、新しいマクロを作成し、その名前を vlookup_function_4
ステップ6. VBAのコンソールに以下のコードを書き込んで 実行 コード
コード
Sub vlookup_function_4() Dim rng As Range, FinalResult As Variant, Table_Range As Range, LookupValue As Range Set rng = Sheets("Sheet4").Range("D15") Set Table_Range = Sheets("Sheet4").Range("B4:F11") Set LookupValue = Sheets("Sheet4").Range("D14") FinalResult = Application.WorksheetFunction.VLookup(LookupValue, Table_Range, 5, False) rng = FinalResult End Sub.
ステップ6. ここで任意のIDを入力し、ボタンを押す
続きを読む VBA VLOOKUPを使用してExcelで別のワークシートの値を検索する
覚えておきたいこと
よくあるエラー | を示すとき。 |
---|---|
1004エラー | VBAのvlookupコードがlookup_valueを見つけられなかった場合、1004エラーが発生します。 |
VLOOKUP関数がVBAで見つからない | Vlookup関数は、ExcelVBAではWorksheetFunctionを使用して呼び出すことができます。 |
エラー処理 | vlookup関数の誤差を抑制するために ゴー 文がエラーを返した場合 |
結論
などがあげられます。 ブイルック 関数で実現することができます。 ここでは、すべての方法とその例を示しましたが、他にもさまざまな反復が考えられます。 また、使用する関数の基本についても説明しました。 もし、これ以外の方法をお持ちでしたら、お気軽に教えてください。