「range vba selection change 範囲取得」
という検索キーワードでアクセスがありました。
Worksheetクラスに、選択範囲を変更したときに発生するSelectionChangeイベントがあります。
このイベントで、選択されたセル範囲を取得するにはどうすればいいのかを探していらしたのでしょう。
選択範囲のセルアドレスを取得するイベントプロシージャ
以下のWorksheet_SelectionChangeイベントプロシージャが参考になるはずです。
' 選択されたセル範囲のアドレスをメッセージボックスに表示する
MsgBox Target.Address(False, False)
End Sub
上記のイベントプロシージャを作成しておいてから、ワークシートでセルを選択しなおすと、新たに選択されたセル範囲のアドレスがメッセージボックスに表示されます。
サンプルの解説
Worksheet_SelectionChangeイベントプロシージャは、Range型の引数Targetを取ります。
この引数Targetで渡されるのが、新たに選択されたセル範囲です。引数TargetはRangeですから、標準モジュールでRangeオブジェクトを操作するのと同じように扱えます。
そこで上記のプロシージャではRange.Addressプロパティの2つの引数にFalseを指定して、セル番地をメッセージボックスに表示しています。
MsgBox Target.Address(False, False)
最終更新日時:2021-09-04 10:46
- Newer:セル内の数値に円を付けるには-#,##0"円"
- Older:SUBSTITUTE関数で改行の置換削除-CHAR(10)
Home » エクセルマクロ・Excel VBAの使い方 » イベントプロシージャ » Worksheet_SelectionChangeで選択されたセル範囲を取得する