VBA講座:Intersectメソッド、 NotやIs、 Nothingという単語について




たった1秒で仕事が片づく Excel自動化の教科書

『たった1秒で仕事が片づくExcel自動化の教科書』(技術評論社)にて、
紙面の都合で書けなかった詳細をこちらで解説します。




■Intersectメソッド、 NotやIs、 Nothingという単語について


 If Not Intersect(Target, Range("A3:A7")) Is Nothing Then

Intersectメソッド
Application(エクセルそのもの)のメソッドです。
複数のセル範囲の重なっている部分のセル範囲を取得することが出来ます。
Intersectメソッドを使う事で、あるセルが特定セル範囲内にあるかどうかを判定することが出来ます。
Intersect(Target, Range("A3:A7"))
これは、TargetとRange("A3:A7")の重なっているセルがRangeオブジェクトで戻されます。
重なっていない場合は、Nothingが戻されます。

Not
真偽(True,False)を反対にします。
TrueならFlaseに、FalseならTrueにします。

Is
オブジェクト型変数を比較する場合の比較演算子です。
通常の値(文字や数値)を比較する場合の=(イコール)と同じものと考えて下さい。

Nothing
オブジェクト型変数に何も入っていない状態を指します。
Intersectメソッドの戻り値はオブジェクトです。

以上を基に最初のコードを読むと、
・TargetとRange("A3:A7")が重なっているセル←Intersect(Target, Range("A3:A7"))
・が存在しない←Is Nothing
・の反対←Not
・がTrueなら
ということになります。
結果として、TargetとRange("A3:A7")が重なっていればThenを処理することになります。



『たった1秒で仕事が片づく Excel自動化の教科書』執筆陣が自ら直接指導。
実務直結・一日集中・受講後無期限サポート付きのマクロVBAセミナー



記事一覧に戻る

法人向けExcelオンライン研修

利用人数無制限・個別サポート付きのExcelオンライン研修です。

すごい改善のExcelセミナー

1日完結・実務直結・無期限サポートつきのExcelセミナー開催中

累計40万部突破のExcel教科書

Excel関数Tシャツ等のご購入はこちら