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

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

対象:Excel2010, Excel2013, Windows版Excel2016

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

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

Excel.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)

Excel.Worksheet.Event SelectionChange(Target As Range)

この引数Targetで渡されるのが、新たに選択されたセル範囲です。引数TargetはRangeですから、標準モジュールでRangeオブジェクトを操作するのと同じように扱えます。

そこで上記のプロシージャではRange.Addressプロパティの2つの引数にFalseを指定して、セル番地をメッセージボックスに表示しています。
  MsgBox Target.Address(False, False)

最終更新日時:2021-09-04 10:46

[スポンサードリンク]

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

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

検索


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

.