Home » エクセルマクロ・Excel VBAの使い方 » Applicationオブジェクト » Intersectメソッドの戻り値は?

対象:Excel 2010, Excel 2013, Windows版Excel 2016

このサイトで、
「vba intersect 戻り値」
という検索が行われていました。

Excel VBAのIntersectメソッドが、何を返すのか疑問に感じていらした方による検索です。

Application.IntersectメソッドはRangeオブジェクトを返す

オブジェクトブラウザーの詳細ペインに「As Range」と明示されるとおり、

Intersectの戻り値は?

Application.Intersectメソッドは、Rangeオブジェクトを返します。

[スポンサードリンク]

コードの入力中にショートカットキー[Ctrl]+[I]を押して表示されるヒントでも、

Intersectの戻り値は?

Application.Intersectメソッドの戻り値が、Rangeオブジェクトであることを確認できます。

Application.Intersectメソッドは、引数に指定された複数のRangeオブジェクトの、重なっている(ダブっている)セルを表すRangeオブジェクトを返します。

ちなみにApplication.Intersectメソッドは、グローバルメンバーですから、上位のオブジェクト式部分「Application」を省略して、いきなり「Intersect」と書き始められます。

Intersectメソッドの戻り値を確認するサンプルマクロ

以下のSubプロシージャを実行すると、行全体を表すRangeオブジェクトを返すRowsプロパティを使ったオブジェクト式「Rows(1)」で返される1行目全体を表すRangeオブジェクトと、列全体を表すRangeオブジェクトを返すColumnssプロパティを使った「Columns(1)」で返される1列目全体を表すRangeオブジェクトの重なっているセル、即ち「A1」がメッセージボックスに表示されます。
Sub Intersectメソッドの戻り値を確認する()
 Dim rng As Range
 Set rng = Intersect(Rows(1), Columns(1))
 MsgBox rng.Address(False, False)
End Sub

RowsとColumnsの引数を変更して、どのセルを表すRangeオブジェクトが返されるかを確認してみてください。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Applicationオブジェクト » Intersectメソッドの戻り値は?

「Applicationオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.
.