教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

ExcelVBAでInputBox関数の使い方

構文

構文は以下の通りです。

InputBox(プロンプト, [タイトル], [デフォルト値], [X座標], [Y座標])

解説

InputBox関数は、ユーザーに情報を入力してもらうために使用する関数です。具体的には、画面上に小さな入力ウィンドウを表示し、そのウィンドウにユーザーが文字や数値を入力することで、プログラム内でその入力された値を使うことができます。プロンプト(必須)は、ユーザーに表示される質問や指示のテキストです。タイトル(省略可能)は、ウィンドウのタイトルバーに表示されるテキストです。デフォルト値(省略可能)は、ユーザーが入力ボックスを開いたときに最初から表示される値です。X座標(省略可能)は、ウィンドウの左端からの距離(ピクセル単位)です。Y座標(省略可能)は、ウィンドウの上端からの距離(ピクセル単位)です。

プログラミング例

具体的なプログラミング例を紹介します。

(例1)シンプルなInputBoxの使い方

Sub 名前を入力してください()
    Dim ユーザーの名前 As String
    ユーザーの名前 = InputBox("名前を入力してください", "名前の入力", "山田太郎")
    If ユーザーの名前 <> "" Then
        MsgBox "こんにちは、" & ユーザーの名前 & "さん"
    Else
        MsgBox "名前が入力されませんでした。"
    End If
End Sub

上記のプログラムは、「名前を入力してください」というメッセージと共にInputBoxを表示します。ユーザーが名前を入力すると、その名前が変数ユーザーの名前に格納されます。入力がない場合は別のメッセージを表示します。

(例2)座標を指定したInputBoxの表示

Sub 数値を入力してください()
    Dim 入力された数値 As Integer
    入力された数値 = InputBox("好きな数を入力してください", "数値の入力", "0", 200, 300)
    If IsNumeric(入力された数値) Then
        MsgBox "あなたが選んだ数は " & 入力された数値 & " です。"
    Else
        MsgBox "数値が入力されませんでした。"
    End If
End Sub

上記のプログラムは、、X座標とY座標を指定してInputBoxを表示しています。ユーザーが数値を入力すると、入力された数値にその値が格納されます。入力がなければエラーメッセージが表示されます。

まとめ

InputBox関数は、ユーザーからデータを入力してもらうための便利な方法です。プロンプトやデフォルト値を指定することで、ユーザーがより直感的に操作できるようになります。