プロプログラマ -Flex,Air,C#,Oracle,PHP-

プログラマーを職業としてます。 Flex,Air,C#,Oracle,PHPの言語ノウハウを中心に情報発信していきます

EXCEL VBAからVLOOKUP関数を指定する

VBAからもEXCELのVLOOKUP関数を指定することができます。
引数はEXCELで関数指定する場合と同じです。

Debug.Print Application.WorkSheetFunction.VLookup(ActiveSheet.Cells(1, 1), Sheets(1).Range("A1:D255"), 2, False)

VBAなので、セル範囲をループして検索してもいいんですが、せっかくのEXCELだし使えるものは使いたいですね。

ただし、上記の書き方をした場合、VLOOKUPの結果が見つからなかった場合、VBAのエラーが発生します。
「実行時エラー ‘1004’ :WorkSheetFunction クラスの VLookup プロパティを取得できません。」

このエラーを回避するには、関数の呼び出しを少し変更します。

Debug.Print Application.VLookup(ActiveSheet.Cells(1, 1), Sheets(1).Range("A1:D255"), 2, False)

WorkSheetFunctionの指定を省略するだけです。
このようにすればVBAでのエラーはなくなります。
その代わり、結果としては#N/Aが返ります。

VBAのON Errorで処理してもいいですし、戻り値の値で判断してもいいと思います。

 

== ランキングに参加しています。ぜひクリックお願いします ==

プログラム ブログランキングへ
にほんブログ村 IT技術ブログへ
にほんブログ村

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です