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学習法診断
  • 100の極意マスター講座
  • Excelショートカットマスター
  • おすすめショートカット一覧・壁紙ダウンロード
  • オリジナルExcelグッズ
  • Twitter:吉田 拳@Excelすごい改善社長
  • Excelで業務効率化を実現!
  • Excelで業務効率化を実現!
  • 約1万人の業務効率を劇的に改善!Excel速技BEST100
  • 資金繰り予報士 こがねむしクラブ