まえきんブログ

*日常・趣味・体験談・スキルアップ(Excel VBA ×ビジネス統計スペシャリスト)についての雑記ブログ*

【Excel VBA学習 #40】セルが範囲内にあるかどうか判定する

まえきんです!

今回はセルが範囲内にあるかどうか判定する

方法について学習しましたのでご紹介します。

f:id:maekinblog:20210209215451p:plain

今回はアクティブセルがA1:C3セルの範囲内にあるかどうかを調べます。

それにはApplicationオブジェクトのIntersectメソッドを使用します。

引数に指定した複数セル範囲の共通部分を返します。

(例)A2:C2とB1:B3の共通部分はセルB2なので、Range("B2")が返る

もし、共通する部分が存在しない場合はNothingが返ります。

裏を返せば、返り値がNothingでなければそのセルは特定セル範囲内に

存在していると判定することができます。

今回のVBAコードでもそのように判定しています。

簡易的にマクロの実行ボタンを作成して、上記のコードを

実行すると下記のように結果が得られます。

【実行前】

f:id:maekinblog:20210209220709p:plain

【実行後】

f:id:maekinblog:20210209220730p:plain

アクティブセルはB2で、A1:C3セルの範囲内に存在しているため

指定セルの範囲内であるロジックに流れていることが分かります。

せっかくなので、範囲外のケースも見てみましょう。

【実行前】

f:id:maekinblog:20210209221058p:plain

【実行後】

f:id:maekinblog:20210209221114p:plain

アクティブセルはD4で、A1:C3セルの範囲外に存在しているため

指定セルの範囲外であるロジックに流れていることが分かりました!

最後まで読んで頂きありがとうございました!ではまた!