「excel vba マクロの途中でセルを選択」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
Excelマクロの実行中に、セルを選択してもらうには、どうすればいいのかを探している方による検索キーワードです。
結論からいうと、ApplicationオブジェクトのInputBoxメソッドを使えば、
マクロを実行している途中で、ユーザーにセルを選択してもらえます。
マクロの実行中にセルを選択してもらうサンプルマクロ
具体的な簡単なプロシージャをご紹介しておきます。On Error GoTo ErrHandl
Dim rng As Range
Set rng = Application.InputBox( _
Prompt:="セルを選択してください。", _
Type:=8)
MsgBox rng.Address(False, False)
Exit Sub
ErrHandl:
Err.Clear
End Sub
上記のSubプロシージャを実行すると、途中で「セルを選択してください。」というインプットボックスが表示され、セルを選択して[OK]ボタンを押すと、選択されたセルのアドレスがメッセージボックスに表示されます。
サンプルマクロの解説
ApplicationオブジェクトのInputBoxメソッドの引数・Typeに「8」を指定することで、インプットボックスでセルを選択できるようになります。
正常な動作だけを考えると、
Sub samp()
Dim rng As Range
Set rng = Application.InputBox( _
Prompt:="セルを選択してください。", _
Type:=8)
MsgBox rng.Address(False, False)
End Sub
といったプロシージャでもいいのですが、インプットボックスで[キャンセル]ボタンが押されたときに、
「実行時エラー'424' オブジェクトが必要です。」
という実行時エラーが発生しています。
これを回避するために、On Error文を入れています。
最終更新日時:2019-12-17 15:32
- Newer:Word文書をオブジェクト変数に
- Older:全見出しの文字列を取得するWordマクロ
Home » エクセルマクロ・Excel VBAの使い方 » Applicationオブジェクト » マクロ実行中にセルを選択してもらう-Application.InputBox