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

エンジニア

※本記事は作成日より一年以上が経過しています。最新の情報ではないので、ご注意ください。

読了の目安時間: 133

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/

最後に一言

VLOOKUP関数の存在を知っているかどうかは、けっこうデカい

本記事を気に入って頂けたら、facebookの「いいね!」を是非!

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


本記事のシェアはこちらから!

  • このエントリーをはてなブックマークに追加
  • Pocket

PROFILE

yoshi

follow us in feedly

WEB制作をやっているYoshiと申します。PVは月間10万程度。過去、エンジニアの頃は、MATLAB/simulink/VBA/C/C++など扱っていました。生産管理、MECE、オブジェクト指向など、当時に得た知識はweb業界に入っても、かなり役立っています。