- Home ›
- Excel VBA入門 ›
- ダイアログ
入力ボックス付きダイアログを表示
ダイアログには利用者に値を入力してもらうことができるテキストボックスを表示することができます。ここでは Excel VBA で入力ボックス付きダイアログを表示する方法について解説します。
(2022 年 06 月 14 日公開 / 2022 年 06 月 14 日更新)
入力ボックス付きダイアログを表示する
構文は下記のようになっています。
Dim ans As String str = InputBox(表示文字列, タイトル文字列, デフォルト値)
ダイアログに表示される文字列とタイトルはMsgBoxと同じですが、入力用テキストボックスにデフォルトで表示される文字列を指定します。またInputBoxを使った場合にはボタンは「OK」と「キャンセル」の2つが表示されます。
またユーザーがテキストボックスに入力した文字は、「OK」ボタンが押された時にString型の値として取得できます。「キャンセル」ボタンやウィンドウの右上にある「×」ボタンでダイアログを閉じた場合には空の文字列("")が戻ってきます。
例えば次のようになります。
Sub テスト() Dim ans As String ans = InputBox("お名前は?", "年齢確認", "") If ans <> "" Then Range("A1").Value = ans End If End Sub
何か入力が行われて「OK」ボタンが押された時だけ入力された値をセルに表示します。
サンプルプログラム
では実際に簡単なプログラムで試してみます。
Sub テスト() Dim ans As String ans = InputBox("お名前は?", "年齢確認", "") If ans <> "" Then Range("A1").Value = ans End If End Sub
上記のマクロを実行すると次のようになります。
名前を入力するためのテキストボックスが表示されますので、適当な値を入力して「OK」ボタンを押して下さい。
すると入力された値がセルに表示されます。
-- --
Excel VBA で入力ボックス付きダイアログを表示する方法について解説しました。
( Written by Tatsuo Ikura )

著者 / TATSUO IKURA
初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。