インプットボックスを表示する(InputBox関数・InputBoxメソッド)
2015/06/16
「InputBox関数」と「InputBoxメソッド」の違い
「InputBoxメソッド」の場合は、返すデータ型を引数で指定することができます。ユーザーにセル範囲を選択させる場合(データ型をRange型に指定)は、InputBoxメソッドを使用します。
また、[キャンセル] ボタンや [×] ボタンを押した場合、「InputBox関数」の場合は「空文字(””)」を「InputBoxメソッド」の場合は「False」を返します。
InputBox関数
result = InputBox ( Prompt [ Title, Default, Xpos, Ypos, HelpFile, Context ] )
【引数】
- Prompt ・・・ 表示する文字列
- Title ・・・ ダイアログボックスのタイトルバーに表示する文字列(省略可)
- Default ・・・ デフォルトで表示する文字列(省略可)
- Xpos ・・・ 左端位置(単位はTwip)(省略可)
- Ypos ・・・ 上端位置(単位はTwip)(省略可)
- HelpFile ・・・ ヘルプファイルのファイル名(省略可)
- Context ・・・ ヘルプトピックに指定したコンテキスト番号(省略可)
【戻値】
- result ・・・ ユーザーが入力した値(文字列型:String)
引数 Title を省略すると、「Microsoft Excel」となります。
引数 Helpfile に、使用するヘルプファイルの名前を使用することで [F1] キーを押してヘルプを参照できるようになります。このとき 引数 Context も指定する必要があります。
[キャンセルボタン] や右上の [×] ボタンを押した場合の戻り値は、空文字(””)となります。
Twip は、長さを表す単位で、1/20ポイントです。
InputBoxメソッド
result = Object.InputBox ( Prompt [ Title, Default, Left, Top, HelpFile, Context, Type ] )
【引数】
- Prompt ・・・ 表示する文字列
- Title ・・・ ダイアログボックスのタイトルバーに表示する文字列(省略可)
- Default ・・・ デフォルトで表示する文字列(省略可)
- Left ・・・ 左端位置(単位はポイント)(省略可)
- Top ・・・ 上端位置(単位はポイント)(省略可)
- HelpFile ・・・ ヘルプファイルのファイル名(省略可)
- Context ・・・ ヘルプトピックに指定したコンテキスト番号(省略可)
- Type ・・・ 定数:返すデータ型(省略可)⇒ 戻値データ型一覧表
【戻値】
- result ・・・ ユーザーが入力した値(Variant型:引数 Type で指定した型)
引数 Title を省略すると、「Microsoft Excel」となります。
引数 Helpfile に、使用するヘルプファイルの名前を使用することで [F1] キーを押してヘルプを参照できるようになります。このとき 引数 Context も指定する必要があります。
[キャンセルボタン] や右上の [×] ボタンを押した場合の戻り値は、「False」となります。
Left, Top は、Excel2007 以降ではどんな値を入れても前回の表示位置と同じ位置に表示されるます。
【戻値のデータ型を示す定数の一覧(Type)】
値 | 内容(戻値のデータ型) | 入力例 |
0 | 数式(String) | =A1+A2 |
1 | 数値(Double) | 55 |
2 | 文字列(String) | あいうえお |
4 | 論理型:True/False(Boolean) | True |
8 | セル参照(Range) | A1:A5 |
16 | エラー値(Error) | #N/A |
64 | 数値配列(Variant()) | {1,2,3,4,5} |
省略時 | 文字列(String) | あいうえお |
InputBox関数/InputBoxメソッドの使用例
VBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
Sub Sample_InputBox() Dim FStr As String Dim MStr As Variant 'インプットボックス関数 FStr = InputBox( _ Prompt:="値を入力してください!!", _ Title:="インプット関数例", _ Default:="ここに入力" _ ) 'インプットボックスメソッド Set MStr = Application.InputBox( _ Prompt:="セル範囲を指定してください", _ Title:="インプットメソッド例", _ Type:=8 _ ) End Sub |
InputBoxマクロ実行例
関連記事
-
Erase ステートメント(配列の初期化・動的配列のメモリ解放)
Erase ステートメントの使い方 【書式】 Erase myArray [, …
-
文字列:文字列を最後から検索してその最初の文字位置を返す(InStrRev 関数)
InStrRev 関数 任意の文字列の中で、指定した文字列を最後から検索して、見 …
-
エラー(CVErr 関数・IsError 関数・Error 関数)
CVErr 関数(エラー番号をエラー値に変換する)の使い方 【書式】 retur …
-
乱数を生成する(Rnd 関数)
Rnd 関数の使い方 Rnd 関数は、0 以上、1 未満の範囲の乱数を単精度浮動 …
-
指定した文字列を数値に変換する(Val 関数)
Val 関数 の使い方 Val 関数は、指定した文字列に含まれる数字を数値として …
-
VBA の演算子(論理演算子:And、Eqv、Imp、Not、Or、Xor)
論理演算子 論理演算を行うときに使用する演算子で、以下の 6 種類があります。 …
-
VBA で正規表現を使う(RegExp オブジェクト)
RegExp オブジェクト VBA で正規表現を使うには、VBScript のR …
-
上付き文字・下付き文字(Superscript,Subscript)
上付き文字(Superscript プロパティ) Superscript プロパ …
-
ショートカットメニュー(CommandBar オブジェクト)
ショートカットメニュー(コンテキストメニュー) 右クリックで表示されるメニューの …
-
変数がEmpty 値かどうかをチェックする( IsEmpty 関数 )
IsEmpty 関数の使い方 【書式】 result = IsEmpty ( e …