こんなあなたにおすすめ
・Excel VBAで入力ボックスを表示したい
Excel VBAで入力ボックスを表示したいことがあると思います。
そんなときは、InputBoxを使うことで、入力ボックスを表示することができます。
今回は、InputBoxについて解説します。
入力ボックスを表示したい
InputBoxを使うことで、入力ボックスを表視することができます。
基本的な使い方は、以下の通りです。
InputBox(prompt, [ title ], [ default ], _ [ xpos ], [ ypos ], [ helpfile, context ])
各パーツについての説明は以下の通りです。
パーツ | 必須 省略可能 |
説明 |
---|---|---|
prompt | 必須 | ダイアログ ボックスに表示する文字列を指定する。 最大で約 1024 文字使用可能です。 |
title | 省略可能 | ダイアログ ボックスのタイトルを指定する。 省略した場合、アプリケーションの名前が表示される。 |
default | 省略可能 | テキストボックスにあらかじめ入力しておく文字列を指定する。 省略した場合、テキスト ボックスは空の状態で表示される。 |
xpos | 省略可能 | 画面の左端からダイアログ ボックスの左端までの距離を指定する。 省略した場合、水平方向の中央に表示される。 |
ypos | 省略可能 | 画面の上部からダイアログ ボックスの上端までの距離を指定する。 省略した場合、画面を約 1 / 3 下に下がった位置に表示される。 |
helpfile | 省略可能 | ヘルプファイルを指定する。 helpfile を指定する場合は、context も必ず指定する必要があります。 |
context | 省略可能 | ヘルプファイル内のページを示すコンテキストidを指定する。 context を指定する場合は、helpfile も必ず指定する必要があります。 |
promptのみを指定
promptは、入力を促すようにする文字列のことです。
ユーザーにどうしてほしいのかを入力すればOKです。
Sub test1() Dim tmp As String tmp = InputBox("名前を入力してください") Range("A1") = tmp End Sub
↓InputBoxを表示した結果
↓InputBoxに”山田 太郎”と入力した結果
titleを指定
titleを指定すると、ダイアログボックスのタイトルが指定した文字列になります。
指定しない場合、アプリケーションの名前が表示されます。
Sub test2() Dim tmp As String tmp = InputBox("名前を入力してください", "名前の確認") Range("A1") = tmp End Sub
↓titleを指定したときのInputBoxの表示結果
defaultを指定
defaultを指定すると、初期値としてテキストボックスに入力されます。
指定しない場合、テキストボックスは空の状態です。
Sub test3() Dim tmp As String tmp = InputBox("名前を入力してください", "名前の確認", "山田 花子") Range("A1") = tmp End Sub
↓defaultを指定したときのInputBoxの表示結果
xpos, yposを指定
xpos、yposを指定することで、指定した位置にダイアログボックスを表示することができます。
指定しない場合、横は中央、縦は画面上部から1/ 3下に配置されます。
Sub test4() Dim tmp As String tmp = InputBox("名前を入力してください", "名前の確認", _ "山田 花子", 1000, 3000) Range("A1") = tmp End Sub
↓xpos, yposを指定しないときのInputBoxの表示結果
↓xpos, yposを指定したときのInputBoxの表示結果
helpfileを指定
helpfileを指定すると”ヘルプ”ボタンが表示されます。
Sub test5() Dim tmp As String tmp = InputBox("名前を入力してください", "名前の確認", _ "山田 花子", 1000, 3000, "demo.hlp", 10) Range("A1") = tmp End Sub
↓helpfileを指定しないときのInputBoxの表示結果
defaultに改行を入れた場合
defaultに改行を入れても、InputBoxのテキストボックスは1行のため、見た目は変わりません。
ただ、改行コードは含まれているため、出力したときに改行されます。
Sub test6() Dim tmp As String tmp = InputBox("住所を入力してください", "住所の確認", _ "東京都" & vbCrLf & "新宿区") Range("A1") = tmp End Sub
↓defaultで改行を含めたときのInputBoxの表示結果
↓InputBoxでそのままOKを押したときの結果
まとめ
ここまで、入力ボックスの表示方法について解説しました。
InputBoxを使うことで簡単に表示することができます。
ユーザーに値を入力してほしいというときに使ってみてください。
セルに値を入力する方法については、下記の記事で解説していますので、ご参照ください。
>>【ExcelVBA】セルに値を入力 / 取得する方法
演算子については、下記の記事で解説していますので、ご参照ください。
>>【ExcelVBA】演算子の使い方
Excelで作業効率をアップしたい方は、下記の記事もご参照ください。
>>Excelのショートカット一覧 覚えて作業効率アップ!!
>>Excelで覚えておくべき関数 作業効率アップ間違いなし
オンラインスクール受講者数No.1!
・自宅にいながらオンライン完結で勉強できる
➡スクールへの移動時間を削減するため、効率的に学習可能!
・受講生に1人ずつ現役のプロのパーソナルメンターがつく
➡分からないことがわかるまで徹底的にメンターに質問可能!
・チャットで質問すればすぐに回答が返ってくる
➡レスポンスが速いから、わからないことをその場で解決!
・オリジナルサービスやオリジナルアプリなどの開発までサポート
➡就職、転職のときに役立つポートフォリオを開発可能!
無料で体験できるので、まずはお試し
>>TechAcademyの無料体験はこちら