VBATips

ユーザーにマウスで複数セルを選択させる【InputBox Type:=8】

ユーザーにマウスで指定範囲のセルを選択させたい

ユーザーライクな開発を心掛けたいです。
InputBoxでユーザーにマウスで範囲を指定させたい場合があります。

ユーザーにマウスで指定範囲のセルを選択させるサンプルコード

'■ユーザーにマウスで複数のセル範囲を選択させる
Public Sub sample()
    Dim rng As Range
    
    On Error Resume Next
    '■InputBoxをType=8にしてマウスでセル範囲を取得
    Set rng = Application.InputBox("マウスでセル範囲を指定してください", Type:=8)
    
    
    '■rngにデータが存在すればアドレスを返す
    If Not rng Is Nothing Then
        MsgBox rng.Address
    Else
        MsgBox "キャンセルが押されました"
    End If
    On Error Goto 0
End Sub

注意点

  • On Error Resume Nextの理由は、キャンセルボタン押下時にエラーが発生するためです。
    —–
    実行時エラー424 オブジェクトが必要です
    —–
  • 上記のResume Next以外は複雑な書き方でしか逃げられない問題(それでも解決しない恐れあり)があり、
    On Error Resume Nextで処理が正解と考えています。

関連記事

コメント

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