Excel VBA インプットボックスは情報入力するダイアログボックス

 

Excel VBA のインプットボックスは、ユーザーから情報を入力してもらうためのダイアログボックスです。Excel VBAでは、ユーザーにデータや文字列を入力させる際に使用します。具体的な使い方や、注意点やサンプルコードを紹介します。

 

📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!

👇実務で“そのまま使える”テンプレ付きで、コピペするだけ
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き

 

Excel VBA インプットボックスの利用

以下のようなシーンで利用されます。

・ユーザーから特定の値を入力してもらう必要がある

・プログラムの動作をユーザーの入力に基づいて変更する

・データの取得や処理において、ユーザーの入力が必要

Excel VBA インプットボックス|使い方とポイント

使い方

インプットボックスは InputBox 関数を使用して表示します。基本的な構文は次の通りです

Dim userInput As String
userInput = InputBox(prompt, [title], [default], [xpos], [ypos], [helpfile], [context])

・prompt:ユーザーに入力を促すメッセージ
・title(オプション):ダイアログボックスのタイトル
・default(オプション):デフォルトで表示される入力値
・xpos(オプション):ダイアログボックスのX座標
・ypos(オプション):ダイアログボックスのY座標
・helpfile(オプション):ヘルプファイルのパス
・context(オプション):ヘルプコンテキストID

 

ポイント

・ユーザーがキャンセルボタンを押した場合、InputBox は空の文字列を返します。

・入力された値が期待される形式(数値や日付など)であることを確認する必要があります。

・入力値のバリデーションを行い、不適切な入力があった場合は再入力を促すようにすることが重要

 

Excel VBA インプットボックスのサンプルコード

自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。

👉無料ExcelVBAベーシック選択問題138問

ユーザーに数値を入力させ、その数値をセルに表示する例
Option Explicit

Sub GetUserInput()
    Dim userInput As String
    Dim num As Double

    ' インプットボックスを表示し、ユーザーの入力を取得
    userInput = InputBox("数値を入力してください:", "入力ボックス", "0")

    ' ユーザーがキャンセルボタンを押した場合
    If userInput = "" Then
        MsgBox "入力がキャンセルされました。"
        Exit Sub
    End If

    ' 入力値が数値かどうかをチェック
    If IsNumeric(userInput) Then
        num = CDbl(userInput)
        ' 数値をセルA1に表示
        Range("A1").Value = num
    Else
        MsgBox "有効な数値を入力してください。"
    End If
End Sub

この例では、インプットボックスを表示してユーザーに数値の入力を促します。入力された値が数値であれば、セルA1にその値を表示し、数値でない場合はエラーメッセージを表示します。

 

Excel VBAエキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。

👉無料ExcelVBAベーシック選択問題138問