【EXCEL VBA】ユーザにセル範囲指定をさせたい

今回はユーザにセル範囲指定をさせる方法を紹介します。マウスでセル範囲指定するとRangeオブジェクトでデータを取得することができます。Rangeオブジェクトさえ取得できれば、あとは自由に処理ができますね。

ポイントは、Application.InputBoxとType:=8になります。説明するほどでもないですね。

サンプルプログラムを実行するとダイヤログが表示されますので、マウスでセルを適当に選択してください。

サンプルプログラムを実行するとダイヤログが表示されますので、マウスでセルを適当に選択してください。

On Error Resume Nextとしているのは、キャンセルが押されたときにFalseが返却され実行時エラーとなってしまうためです。

サンプルプログラム

Option Explicit

Sub sample()

    Dim r As range
    
    On Error Resume Next
    Set r = Application.InputBox("マウスでセル範囲指定をしてください", Type:=8)
    
    If r Is Nothing Then
        Debug.Print "キャンセルが押されました"
    Else
        Debug.Print r.Address
    End If
   
End Sub