「InputBox関数」と「InputBoxメソッド」の違い
「InputBoxメソッド」の場合は、返すデータ型を引数で指定することができます。ユーザーにセル範囲を選択させる場合(データ型をRange型に指定)は、InputBoxメソッドを使用します。
また、[キャンセル] ボタンや [×] ボタンを押した場合、「InputBox関数」の場合は「空文字(””)」を「InputBoxメソッド」の場合は「False」を返します。
InputBox関数
【書式】
result = InputBox ( Prompt [ Title, Default, Xpos, Ypos, HelpFile, Context ] )
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 ] )
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 |