Vba で intersect を使用する方法 (例付き)
VBA でIntersectメソッドを使用すると、2 つの特定の範囲の交差を表す範囲を返すことができます。
このメソッドを実際に使用する一般的な方法は次のとおりです。
Function FindIntersect(range1, range2)
FindIntersect = Application.Intersect(range1, range2)
End Function
この関数を Excel スプレッドシートに直接入力して 2 つの範囲を指定すると、関数はこれら 2 つの範囲の交差部分を表す範囲内の各値を返します。
次の例は、Excel の次のデータ セットで実際にこの関数を使用する方法を示しています。
例 1: 2 つの範囲の交差部分を検索します (結果として 1 つのセルが得られます)
範囲A2:C2とA1:A11の間の交差を表すセル値を返したいとします。
VBA では次の関数を定義できます。
Function FindIntersect(range1, range2)
FindIntersect = Application.Intersect(range1, range2)
End Function
次に、この関数をスプレッドシートのセルに直接入力します。
この式は、範囲A2:C2とA1:A11の交差部分を表す値Mavsを返します。
例 2: 2 つの範囲の交差部分を検索します (結果として複数のセルが得られます)
範囲A1:C3とA1:B10の交差部分を表すセル範囲全体を返したいとします。
VBA では次の関数を定義できます。
Function FindIntersect(range1, range2)
FindIntersect = Application.Intersect(range1, range2)
End Function
次に、この関数をスプレッドシートのセルに直接入力します。
この数式は、範囲A1:C3とA1:B10の交差を表す値の長方形の範囲全体を返します。
注: VBA Intersectメソッドの完全なドキュメントはここで見つけることができます。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。
VBA: 使用されている列の数を数える方法
VBA: テーブル内の行を数える方法
VBA: ワークブック内のシート数を数える方法