Excel VBAのチップスです。
MsgBoxはボタンを押すだけでしたが、InpuBoxメソッドを使うとデータを入力することが出来ます。
構文(以下Helpより一部抜粋)
Application.InputBox(prompt,Title,Default,Left,Top,HelpFile,HelpContextID, Type)
パラメータ
Promptは必須。その他は必須ではなく、オプションとなります。
名前目 データ型 説明 Prompt 文字列型(String) ダイアログ ボックスに表示するメッセージを指定します。この引数には、文字列、数値、日付、またはブール値を指定できます (Excelでは表示される前に、自動的に値を文字列型(String)に変換します)。 Title バリアント型(Variant) ダイアログ ボックスのタイトルを指定します。この引数を省略すると、既定値の "入力" がタイトル バーに表示されます。 Default バリアント型(Variant) ダイアログ ボックス内のテキスト ボックスに表示する初期値を指定します。この引数を省略すると、テキスト ボックスには何も表示されません。この値には、Range オブジェクトを指定することもできます。 Left バリアント型(Variant) 画面の左上隅を基準として、ダイアログ ボックスの X 座標をポイント (ポイント: 印刷する文字のサイズ(高さ)を指定する基本単位。1ポイントは、約 0.0353 cm (1/72インチ)です)単位で指定します。 Top バリアント型(Variant) 画面の左上隅を基準として、ダイアログ ボックスの Y 座標をポイント単位で指定します。 HelpFile バリアント型(Variant) 対象ダイアログ ボックスで使うヘルプ ファイルの名前を指定します。引数 HelpFile および引数 HelpContextID が共に指定されていれば、ダイアログ ボックス内に [ヘルプ] ボタンが表示されます HelpContextID バリアント型(Variant) 引数 HelpFile で指定したヘルプ ファイル内のヘルプ トピックのコンテキスト ID 番号を指定します。 Type バリアント型(Variant) 返されるデータの型を指定します。この引数を省略すると、ダイアログ ボックスは文字列 (テキスト) を返します。
戻り値
バリアント型 (Variant)
備考
下の表は、引数Typeに指定できる値をまとめたものです。次の値のいずれか1つまたは合計値を指定できます。たとえば、文字列または数値が入力できるダイアログ ボックスを作成するときは、引数Typeの値を 1+2 に設定します。
値 意味 0 数式 1 数値 2 文字列 (テキスト) 4 論理値 (True または False) 8 セル参照 (Range オブジェクト) 16 #N/A などのエラー値 64 数値配列 InputBox メソッドは、マクロに情報を与えるためのダイアログ ボックスを表示します。ダイアログ ボックスには、[OK] ボタンと [キャンセル] ボタンが表示されます。[OK] をクリックすると、ダイアログ ボックスに入力した値が返されます。[キャンセル] をクリックすると、InputBox は False を返します。
InputBox の引数 Type に 8 を指定すると、Range オブジェクトが返されます。返された結果を Range オブジェクトに代入するには、次のように Set ステートメントを使う必要があります。
Set myRange = Application.InputBox(prompt := "Sample", type := 8)
Set ステートメントを使わないと、変数は Range オブジェクト自体ではなく、セル範囲の値として設定されます。
似たもので、InputBox関数がありますが、こちらは文字列型(String)の値を返します。
こんなに長くずらずらと書かれると、頭が痛くなり見るのも嫌になるかもしれませんが、普通、使い方はいたってシンプルです。
InputBoxの表示
InputBoxにデータを入力して、「OK」ボタンをクリック。
結果