アクセス上位ページ
 
最近の更新内容
(1).組み込みダイアログ ⇐ [PREV]
[NEXT] ⇒ (1)-b.InputBoxメソッド

Excel VBA ≫ 2.関数リファレンス - 組み込みダイアログ(1)-a.InputBox関数

組み込みダイアログ - InputBox関数

InputBox関数はマクロ実行中にダイアログボックスを画面に表示し、ユーザーからのデータ入力を受け付けます。 ダイアログボックス上の何かしらボタンを押下することで、入力されたデータを返却します。 但し、ダイアログボックス右上の[×]ボタンまたは[キャンセル]ボタンを押下すると値0の文字列を返却します。

管理人から一言・・・ 値0の文字列の判定方法
値0の文字列と長さ0の文字列""は異なります。しかしif文やStrCompなどで比較すると同じという判定結果が返ってきます。このため、値0の文字列を判定するにはStrPtrという非公式の関数を使用します。この関数は文字列が格納されているアドレスを返すもので、値0の文字列の場合は"0"を返し、これ以外の場合は"0"以外を返します。




  • 【構文】
    InputBox (Prompt [, Title] [, Default] [, XPos] [, YPos] [, HelpFile, Context])

      【戻り値】 文字列型 (String)

  • 引数名 省略 説明
    Prompt × 必須入力です。ダイアログ ボックス内にメッセージとして表示する文字列を示す文字列式を指定します。 改行するにはvbCr、vbLf、vbCrLfのいずれかを使用します。
    Title ダイアログ ボックスのタイトル バーに表示する文字列式を指定します。 省略すると、タイトル バーにはアプリケーション名が表示されます。
    Default テキスト ボックスに既定値として表示する文字列式を指定します。
    XPos パソコン画面の左端からダイアログ ボックスの左端までの水平方向の距離を、twip 単位で示す数式を指定します。 省略すると、パソコン画面の中央の位置に配置されます。
    YPos パソコン画面の上端からダイアログ ボックスの上端までの垂直方向の距離を、twip 単位で示す数式を指定します。 省略すると、パソコン画面の上端から約 1/3 の位置に配置されます。
    HelpFile この引数は、表示するダイアログ ボックスの説明を、ヘルプを使って表示するときに指定します。 使用するヘルプ ファイルの名前を示す文字列式を指定します。 引数 HelpFile を指定した場合は、引数 Context も指定する必要があります。
    Context ヘルプ トピックに指定したコンテキスト番号を表す数式を指定します。 引数 Context を指定した場合は、引数 HelpFile も指定する必要があります。


  • 引数Prompt、Title、Defaultの表示位置
  • Sub sample_ef011_01()
        Dim strData    As String
    
        strData = InputBox("ここが引数Promptです。" & vbLf & "(必須入力)", _
                           "ここが引数Titleです。", _
                           "ここが引数Defaultです。")
    End Sub
    
    ⇒ サンプルマクロ集 へ

    ダイアログボックスの表示画面
  • 省略可能引数のうち、名前付き引数を使用してDefaultにのみ値を設定する例
  • Sub sample_ef011_02()
        Dim strData    As String
    
        strData = InputBox("数値を入力してください。", _
                            Default:=100)
    End Sub
    
    ⇒ サンプルマクロ集 へ

    名前付き引数を使用した例

  • InputBox関数の簡単な使用例
  • Sub sample_ef011_03()
        Dim strData    As String
    
        strData = InputBox("値を入力してください。")
    
        'キャンセルされたかどうかの判断はStrPtr関数で行います。
        If StrPtr(strData) = 0 Then
            'キャンセルボタンか×ボタンが押下された場合
            MsgBox "入力がキャンセルされました。", vbExclamation
        ElseIf strData = "" Then
            '値を入力しないでOKボタンを押下した場合
            MsgBox "値が未入力です。", vbExclamation
        Else
            '値を入力してOKボタンを押下した場合
            MsgBox "入力された値は" & strData & "です。", vbInformation
        End If
    End Sub
    

    • [キャンセル]または[×]ボタンを押下した場合
    • [キャンセル]または[×]ボタンを押下 入力がキャンセルされました。
    • 未入力状態で[OK]ボタンを押下した場合
    • 未入力状態で[OK]ボタンを押下 値が未入力です。
    • 値を入力して[OK]ボタンを押下した場合
    • 値を入力して[OK]ボタンを押下した場合 入力された値はabcです。

カテゴリ内ページ



Page
Top