Home » エクセルマクロ・Excel VBAの使い方 » Applicationオブジェクト » マクロ実行中にセルを選択してもらう-Application.InputBox

マクロ実行中にセルを選択してもらう-Application.InputBox

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

「excel vba マクロの途中でセルを選択」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

Excelマクロの実行中に、セルを選択してもらうには、どうすればいいのかを探している方による検索キーワードです。

結論からいうと、ApplicationオブジェクトのInputBoxメソッドを使えば、

マクロ実行中にセルを選択してもらう

マクロを実行している途中で、ユーザーにセルを選択してもらえます。

[スポンサードリンク]

マクロの実行中にセルを選択してもらうサンプルマクロ

具体的な簡単なプロシージャをご紹介しておきます。
Sub マクロの実行中にセルを選択してもらう()
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

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Applicationオブジェクト » マクロ実行中にセルを選択してもらう-Application.InputBox

「Applicationオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.