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関数の存在を知っているかどうかは、けっこうデカい

今読んだ記事をシェアする

vba-thumb

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

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

このブログサイトが参考になった人は、いいねボタン! 更新情報も受け取れます!

arrow
デル株式会社
  • Pocket
  • このエントリーをはてなブックマークに追加

キヨタツ

キヨタツ

WEBを中心に、色々な制作をする個人事業主です。過去、エンジニア&webディレクターで会社勤めをしていました。エンジニアで勤めていた頃は、MATLAB/simulink/VBA/C/C++など扱っていました。生産管理、MECE、オブジェクト指向など、エンジニアの知識はweb業界に入っても、かなり役立ちます。性格は、自虐好きです。