Excel VBA のインプットボックスは、ユーザーから情報を入力してもらうためのダイアログボックスです。Excel VBAでは、ユーザーにデータや文字列を入力させる際に使用します。具体的な使い方や、注意点やサンプルコードを紹介します。
日常業務でExcelを多用し、手動作業を減らしたいと考えている方へ
本サイト参考: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 は空の文字列を返します。
・入力された値が期待される形式(数値や日付など)であることを確認する必要があります。
・入力値のバリデーションを行い、不適切な入力があった場合は再入力を促すようにすることが重要
基本的な文法や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で自動化するコードのベースを習得したい方におすすめ!
VBAエキスパート資格は、日常業務でExcelを多用し、手動作業を減らしたいと考えている方には価値あるものです。
ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。
ExcelVBAエキスパートスタンダード
ExcelVBAの開発を仕事にする人が対象の問題集です。
Excel VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。