Home » エクセルマクロ・Excel VBAの使い方 » イベントプロシージャ » Worksheet_SelectionChangeで選択されたセル範囲を取得する

Worksheet_SelectionChangeで選択されたセル範囲を取得する

対象:Excel2010, Excel2013, Windows版Excel2016

「range vba selection change 範囲取得」
という検索キーワードでアクセスがありました。

Worksheetオブジェクトに、選択範囲を変更したときに発生するSelectionChangeイベントがあります。

オブジェクトブラウザー:Worksheet_SelectionChange

このイベントで、選択されたセル範囲を取得するにはどうすればいいのかを探していらしたのでしょう。

[スポンサードリンク]

選択範囲のセルアドレスを取得するサンプルプロシージャ

以下のWorksheet_SelectionChangeイベントプロシージャが参考になるはずです。


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' 選択されたセル範囲のアドレスをメッセージボックスに表示する
 MsgBox Target.Address(False, False)
End Sub

上記のイベントプロシージャを作成しておいてから、ワークシートでセルを選択しなおすと、新たに選択されたセル範囲のアドレスがメッセージボックスに表示されます。

サンプルプロシージャの解説

Worksheet_SelectionChangeイベントプロシージャは、Range型の引数Targetを取ります。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

オブジェクトブラウザー:Worksheet_SelectionChange

この引数Targetで渡されるのが、新たに選択されたセル範囲です。

引数TargetはRangeですから、標準モジュールでRangeオブジェクトを操作するのと同じように扱えます。
そこで上記のプロシージャではRange.Addressプロパティの2つの引数にFalseを指定して、セル番地をメッセージボックスに表示しています。
  MsgBox Target.Address(False, False)

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » イベントプロシージャ » Worksheet_SelectionChangeで選択されたセル範囲を取得する

TrackBack:0

TrackBack URL
[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » イベントプロシージャ » Worksheet_SelectionChangeで選択されたセル範囲を取得する

「イベントプロシージャ」の記事一覧

検索


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

.