VBAでIndex Match関数を再現する

こんにちは。伊川(@naonaoke)です。


上の記事、動画ですが、結構な勢いで再生されました。

現時点で、視聴回数 236,624回です。

一発屋なのですね。

今回は、関数をVBAで再現します。




問題提起

(株)IKAWAの柄久 瀬瑠子(エク セルコ)は上司から下記の依頼を受けました。

VBAでVLOOKUP関数のようなことはできないのか?

どのよなコードを記載するのか?

解決策

回答
sesuo2.jpg
・Application.WorksheetFunctionで、ワークシート関数を使う。

 

Application.WorksheetFunction

Applicationは省略できます。

しかし、すべてのワークシート関数が使えるわけではありません。


WorksheetFunctionというクラスに、WorksheetFunctionメンバーに格納されている関数が使えます。

今回は、XLOOKUPを赤枠で囲みました。

XLOOKUPは、当初は、VBAで使えなかったようですが、WorksheetFunctionメンバーに格納されていて、びっくりです。

ちなみに、この辺の知識は、クラスモジュールにつながります。




WorksheetFunctionを使う 作成手順その1 データ    ベース確認



上の数式をVBAで再現します。




WorksheetFunctionを使う 作成手順その2 コード解説





WorksheetFunctionを使う 作成手順その3  WorksheetFunctionの欠点

WorksheetFunctionは、確かに便利なのす。

ただし、この辺りを使いすぎると、VBAを使いこなすことができません。

考え方が、ワークシート関数と同じだからです。

なるべく、配列等で記載することが、VBAスキルアップにつながります。

コードを記載していくと理解できるのですが、コードが長くなり、利便性を感じません。

きっちり、コンピュータ言語的に記載していくことが、大切です。




ここがポイント

ここがポイント
Function8.png
VBAを使いこなそうとするときに、関数をVBAで表現したら、どうなるのか考えましょう。WorksheetFunctionが慣れてきたら、配列等で表現できるように考えましょう。

 

まとめ

今回のまとめ
sesuko3.jpg
今回は、伊川の人気?の動画をVBAで表現しました。VBAのスキルアップのために、伊川と一緒にがんばりましょう。。

今回のサンプルファイルは、No115です。

サンプルファイルの購入
ブログが動画で紹介した内容のサンプルファイルを
購入できます。月額3,000円です。
練習用ファイルもダウンロードできます。
PayPal経由でお支払いでます。
ダウンロード回数に制限はありません。
スポンサーリンク

Twitterでフォローしよう

おすすめの記事