EXCEL VBA INPUT BOX(メゾット)の使い方「Application.InputBox」

 

EXCEL VBA INPUT BOX(メゾット)の使い方「Application.InputBox」

 

 

 ●はじめに

EXCEL VBAで文字列や数値などを入力する際に、InputBox関数とInputBoxメゾットを使用します。InputBox関数は簡易的な入力用として使用しますが、InputBoxメゾットは、表示するダイアログボックスにメッセージ・タイトル・入力値の初期値・戻り値の型を指定する事が出来るので、詳細に設定する事が可能です。それでは、INPUTBOXメゾットの使用方法の説明を致します。

なお、INPUTBOX関数については、こちらも参照して下さい。
https://akira55.com/inputbox/

 

 

 ●書式の説明

Application.InputBox (PromptTitleDefaultLeftTopHelpFileHelpContextIDType)

使用例①: myAns = myAns = Application.InputBox(Prompt:=”氏名”, Title:=”個人情報”, Default:=”山田太郎”, Left:=100, Top:=200, Type:=2)

使用例②: myAns = Application.InputBox(“氏名”, “個人情報”, “山田太郎”, 100, 200, , , 2)

※使用例①と②共に同じ内容でダイアログボックスが表示されます。(上記ダイアログボックス)

 

引数名必須/省略可能データ型説明
Prompt必須Stringダイアログボックスに表示する文字列を設定します。
Title省略可能Variantダイアログボックスのタイトルを設定します。
Default省略可能バリアント型テキストボックスに表示される初期値を指定します。
Left省略可能バリアント型ダイアログボックスのX座標(横)をポイント単位で指定します。(画面上の左上基準)
Top省略可能バリアント型ダイアログボックスのY座標(縦)をポイント単位で指定します。(画面上の左上基準)
HelpFile省略可能バリアント型※ヘルプトピックで使用します。
HelpContextID省略可能バリアント型※ヘルプトピックで使用します。
Type省略可能バリアント型入力値の返されるデータ型を設定する事が出来ます。

 

 

EXCEL VBA INPUT BOX(メゾット) 使用例

 

 

 ●プログラム説明 サンプル①
下記のサンプルプログラムは、InputBoxメゾットの一般的な使用例です。2種類のプログラムを記述していますが、同じ内容で表示されます。引数をカンマ区切りで設定するか、引数名で設定する違いです。InputBoxメゾットを使用する場合は、引数名を利用して設定した方が解り易いので、おすすめです!

 

 

 

 ●実行前~実行後 ※実行後、ダイアログボックスが表示されます。
①「鈴木一郎」入力⇒OK セル(B3)に「鈴木一郎」を代入されます。
②入力せずに、「キャンセル」ボタンクリック セル(B3)に「False」が代入されます。
(画面クリックして拡大)

 

 

EXCEL VBA INPUT BOX(メゾット) 入力値の制御(戻り値 Type:=)

 

InputBoxメソッド(Type戻り値):値説明
0数式
1数値
2文字列
4論理値 (True/ False)
8セル参照
16#N/A などのエラー値
64値の配列

 

 

 ●プログラム説明 サンプル②
下記のサンプルプログラムは、InputBoxメゾットで利用できる入力値の制御方法の使用例です。この機能を利用する事でInputBoxメゾットで返されるデータの型を指定する事が出来ます。指定したデータの型に該当しない場合は、再入力するさせる制御を行う事が出来ます。
プログラムの内容は、暗証番号を入力させるプログラムです。暗証番号を2回入力させて、2回入力した内容が一致したか確認するプログラムです。

 

 ●実行前~実行後 ※実行後、ダイアログボックスが表示されます。
① 1回目の暗証番号の入力をします。
② 2回目の暗証番号の入力をします。
③ 入力された暗証番号を比較します。

(画面クリックして拡大)

 

 

 

EXCEL VBA INPUT BOX(メゾット) を使った問題集・テスト問題

 

 

 ●プログラム説明 (サンプル④)
下記のサンプルプログラムは、InputBoxメゾットを使った問題を出題し、それに答えるプログラムです。下表にA列に問題・B列に答えを記入します。実行すると、1問目(セルA2)から順番に問題が出題されます。問題に対して回答しますが、正解するまで、同じ問題を繰り返します。正解すると次の問題が出題されるプログラムです。

 

 

 

 ●実行前~実行後 ※実行後、ダイアログボックスが表示されます。
① 1問目から順番に問題が出題されます。
② 問題を回答します。
③ 正解すると「正解」・・次の問題が出題されます。(最後の問題まで繰り返す)
④ 全問回答すると、「全ての問題に解答できました。」を表示して終了
(画面クリックして拡大)

 

EXCEL VBA INPUT BOX(メゾット) を使ったデータの登録「住所録の作成」

 

 

 ●プログラム説明 (サンプル⑤)
下記のサンプルプログラムは、InputBoxメゾットを使ってセルにデータを登録するプログラムです。データを登録する際は、フォームを使って登録する方法はありますが、フォームを作成してデータを登録するには、フォームを作成する必要があり、ある程度VBAスキルがないと難しいです。そこで、InputBoxメゾットを使い住所録を登録するサンプルプログラムを作成しました。
プログラムの説明ですが、簡易的な住所録を作成します。入力する内容は、氏名・住所・電話番号を登録して、3列目に戻り値を設定しており、これは、入力値に対して「2」文字列・「1」数値を指定し入力内容に対しての戻り値を指定に誤入力防止する事が出来ます。入力を終了する場合は、「*」を入力するとプログラムが終了します。

 

 

 

 

●実行前~実行後 ※実行後、ダイアログボックスが表示されます。
① 氏名を入力します。(戻り値:文字列) ”*”が入力されたら終了
② 住所を入力します。(戻り値:文字列)
③ 電話番号を入力します。(戻り値:数値)
④ 繰り返す①

 

 

最後まで、ご覧いただきまして誠に有難うございました。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。