Excel VBA マウスのドラッグで任意の範囲を選択させる方法

スポンサーリンク

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

コメント

タイトルとURLをコピーしました