Intersectメソッド解説(Excel VBA)

Excel VBA Intersectメソッドの解説

VBAのIntersectメソッドは、2つ以上の範囲の交差部分を取得するためのものです。このメソッドは非常に便利で、特定の範囲が他の範囲と交差しているかどうかを確認する場面などでよく使われます。

Intersectメソッドの基本的な使い方

Intersectメソッドは、次のような基本形式で使用します:

Set rng = Application.Intersect(Range1, Range2[, Range3[, ...]])

rngには交差部分が格納されます。交差部分が存在しない場合、rngにはNothingが格納されます。Range1、Range2等は範囲を表すRangeオブジェクトまたは範囲を示す文字列を指定します。2つ以上の範囲を指定することができます。

Intersectメソッドのサンプルコード

サンプル:範囲の交差部分を表示する

以下のサブルーチンは、指定した2つの範囲が交差している場合、その交差部分をメッセージとして表示します。


    Sub ShowIntersect()
        Dim rng1 As Range
        Dim rng2 As Range
        Dim rngIntersect As Range

        Set rng1 = Range("A1:C3")
        Set rng2 = Range("B2:D4")

        Set rngIntersect = Application.Intersect(rng1, rng2)

        If Not rngIntersect Is Nothing Then
            MsgBox "Intersecting range is " & rngIntersect.Address
        Else
            MsgBox "Ranges do not intersect"
        End If
    End Sub
    

このサンプルコードでは、まず2つの範囲(”A1:C3″と”B2:D4″)を定義し、それらの範囲が交差しているかどうかをIntersectメソッドでチェックしています。交差している場合、交差部分の範囲がrngIntersectに格納され、そのアドレス(範囲)がメッセージボックスに表示されます。交差していない場合、rngIntersectにはNothingが格納され、”Ranges do not intersect”というメッセージが表示されます。