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 インプットボックスのサンプルコード

自分の実力を客観的にチェックしたい。そんな方のために、自分に合った学習スタート地点がわかる無料の選択問題集をご用意しました。(VBAエキスパートベーシック資格試験から抜粋した問題です)

無料138問でいまの実力をチェック

555点以上ならベーシック合格レベル、345〜550点はベーシック理解途中、340点以下は基礎理解不足※ご安心ください。この問題をされた人の情報は一切残りません。実力のチェックができる問題集で、クリックすぐにスタートではありません。解説内容の下に問題があります)

ユーザーに数値を入力させ、その数値をセルに表示する例
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にその値を表示し、数値でない場合はエラーメッセージを表示します。

 

生成AIで業務改善を始めたい方へ

Excelの業務改善に興味がある方は、生成AIを活用することで、さらに効率化できる可能性があります。

目的に合わせて、こちらの記事をご覧ください。