だれかのなにかに役立てるウェブ制作者YoTaの趣味ブログ

Excel VBAでVLOOKUP関数が構文エラーでうまく動かない時の対処方法

Excel VBAで、データの読み込み方法に条件をつけたい時など、VLOOKUP関数が役に立ちます。

VLOOKUP関数とは

この関数は、指定したセル範囲の中から、検索条件に定めた値と一致するデータ行を特定し、指定した列情報の値を取り出してくれる関数のことです。

=VLOOKUP(検索値,範囲,列番号,検索方法の指定)
検索値:検索するキーワード
範囲:検索するセルの範囲
列番号:検索するキーワードが一致したセルの行範囲のうち、何列目の情報を取得するか決定
検索方法の指定:FALSEで完全一致。TRUEにすると検索キーワードに近い値も検索

通常のエクセルシートで使う場合は、数式バーに入力してあげればOKです。ただし、VBAで使う時は、構文自体は同じなのですが、下記のようにセル範囲でRangeを使わないとエラーになってしまうので注意しましょう。

▼誤り例:セル範囲をダブルクォーテーションで示すだけでは不十分
test = Application.WorksheetFunction.VLookup("合計", "A1:AH13", 5, False)

▼正解:セル範囲をきちんとRangeで指定する。
test = Application.WorksheetFunction.VLookup("合計", Range("A1:AH13"), 5, False)

セル範囲の指定をミスすると、コンパイルエラーが起きて、「修正候補:区切り記号 または)」のエラーが表示されます。だいたい構文ミスなので、見直すようにしましょう。

err_vlookup

参考リンク

▼Vlookup関数の使い方
http://www.hello-pc.net/howto-excel/vlookup/

ページ上部に戻る