入力用のダイアログ ボックスの表示

MsgBoxはボタンを押すだけでしたが、InpuBoxメソッドを使うとデータを入力することが出来ます。


構文

構文(以下Helpより一部抜粋)

Application.InputBox(prompt,Title,Default,Left,Top,HelpFile,HelpContextID, Type)


パラメータ

名前目データ型説明
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)返されるデータの型を指定します。この引数を省略すると、ダイアログ ボックスは文字列 (テキスト) を返します。
Promptは必須。その他は必須ではなく、オプションとなります。


戻り値
バリアント型 (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)の値を返します。


こんなに長くずらずらと書かれると、頭が痛くなり見るのも嫌になるかもしれませんが、普通、使い方はいたってシンプルです。


サンプル

サンプル1のコードの図
InputBoxの表示
サンプル1のInputボックスの図
InputBoxにデータを入力して、「OK」ボタンをクリック。
入力の図
結果
サンプル1の結果の図


Excel VBAのチップス一覧へ戻る

ツイート
このエントリーをはてなブックマークに追加
inserted by FC2 system