VBAを使ってマウスで任意の範囲を選択させる方法
VBAで処理させたいデータのセルの範囲を任意で選択させたいことがありませんか?
ということで任意の範囲を選択させてみようと思います。
サンプルコード
Sub selectRange() Dim cellRange As Range On Error Resume Next Set cellRange = Application.InputBox("処理範囲をドラッグして選択してください", "処理範囲の指定", Type:=8) If cellRange Is Nothing Then Exit Sub cellRange.Select End Sub
解説
Inputboxでキャンセルが押下されたときのためのおまじない。(キャンセル押下されるとFalseが返ってくるから実行時エラーになっちゃう)
On Error Resume Next
「Type:=8」でセル参照が可能になります。あとは戻り値がRangeオブジェクトなので変数に代入する際にSetを忘れずに!
Set cellRange = Application.InputBox("処理範囲をドラッグして選択してください", "処理範囲の指定", Type:=8)
キャンセル押されて4行目のおかげで実行時エラーにならずにこの処理まで抜けてきた場合にNothingが変数に格納されてるので処理終了させるためのおまじない。
If cellRange Is Nothing Then Exit Sub
コメント