Excel VBA 2つ以上のセル範囲の重なっているセルを探す-Intersect

ExcelのVBAである範囲とある範囲(2つ以上のセル範囲)の重なっているセルを探す方法を記録します。

重なっているセルを探すには「Intersect」メソッドを使います。

下図は、Excel2016です。

< スポンサーリンク >





Intersect構文

式.Intersect(Arg1, Arg2, Arg3, …, Arg30)

2つ以上の範囲の長方形の交差を表すRangeオブジェクトを返します。

別のワークシートの1つ以上の範囲が指定されている場合は、エラーが返されます。

Arg1=必須。セル範囲(Rangeオブジェクト)の名前を指定。
Arg2=必須。セル範囲(Rangeオブジェクト)の名前を指定。
Arg3-Arg30=省略可能。交差する範囲。

 

A3~D3の範囲とB1~B5の範囲の交差するセルをメッセージで表示します。

ExcelIntersect

Sub test()
    Dim ws As Worksheet
    Dim rng As Range

    Set ws = ActiveSheet
    Set rng = Application.Intersect(ws.Range(“A3:D3”), ws.Range(“B1:B5”))

    If rng Is Nothing Then
        MsgBox “該当なし”
    Else
        MsgBox rng.Address
    End If
End Sub

ExcelIntersect

ExcelIntersect

 

A3~D3の範囲とE1~E5の範囲の場合です。交差するセルがないので「該当なし」のメッセージが表示されます。

ExcelIntersect

Sub test()
    Dim ws As Worksheet
    Dim rng As Range

    Set ws = ActiveSheet
    Set rng = Application.Intersect(ws.Range(“A3:D3”), ws.Range(“E1:E5”))

    If rng Is Nothing Then
        MsgBox “該当なし”
    Else
        MsgBox rng.Address
    End If
End Sub

ExcelIntersect

ExcelIntersect

 

< スポンサーリンク >※広告先のお問い合わせは広告主様にお願いします