
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ベーシック選択問題集をご用意しました。
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で自動化するコードのベースが習得できる解説書」
Excel VBAエキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。