入力ボックス付きダイアログを表示

ダイアログには利用者に値を入力してもらうことができるテキストボックスを表示することができます。ここでは 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 )

広告
Profile
profile_img

著者 / TATSUO IKURA

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