VBATips

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

ユーザーにマウスで単一セルを選択させたい

ユーザーライクな開発を心掛けたいです。
InputBoxでユーザーにマウスで範囲を指定させたい場合があります。
複数セルを選択させる場合はこちらの記事でよかったのですが、単一のセルの場合は少し工夫が必要です。

ユーザーにマウスで単一セルを選択させるサンプルコード

'■ユーザーにマウスで単一セルを選択させる
Public Sub sample()

    Dim rng As Range
    
    On Error Resume Next
    Do
        '■InputBoxをType=8にしてマウスでセル範囲を取得
        Set rng = Application.InputBox("マウスで単一セルを指定してください", Type:=8)
        
        '■rngにデータが存在すればアドレスを返す
        If rng Is Nothing Then MsgBox "キャンセルが押されました"
    Loop Until rng.Count = 1
    
    '■単一セルが選択されたら、アドレスをMsgboxで表示する。
    MsgBox rng.Address
    On Error GoTo 0
End Sub

注意点

  • On Error Resume Nextの理由は、キャンセルボタン押下時にエラーが発生するためです。
    —–
    実行時エラー424 オブジェクトが必要です
    —–
  • どうしても複数セルを選択可能なため、指定したセルが1ならLoopを抜ける形での実装です。

関連記事

  • 複数セルの選択をさせたい場合はこちら

コメント

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