目次:
ビデオ: 【初心者向けエクセルVBA】入力ダイアログを表示するInputBoxメソッドの使い方 2024
VBA InputBox関数は、Excle 2016でユーザーが入力した単一の情報を取得するのに便利です。その情報は値、テキスト文字列、住所。これは、1つの値だけを取得する必要がある場合にユーザーフォームを開発するための良い選択肢です。
InputBox構文
InputBox関数の構文を簡略化したものです。
InputBox(prompt [、title] [、default])
InputBox関数は、ここにリストされている引数を受け入れます。
引数 | プロンプト |
---|---|
プロンプト | 入力ボックスに表示されるテキスト |
タイトル | 入力ボックスのタイトルバーに表示されるテキスト |
デフォルト | ユーザー入力のデフォルト値(オプション) |
InputBoxの例
InputBox関数の使用方法を示すステートメントを次に示します。
TheName = InputBox( "あなたの名前は何ですか?"、 "Greetings")
このVBAステートメントを実行すると、Excelがこのダイアログボックスを表示します。この例では、最初の2つの引数のみを使用し、デフォルト値を指定していないことに注意してください。ユーザーが値を入力して[OK]をクリックすると、コードはTheName変数に値を割り当てます。
<! - 3 - > InputBox関数はこのダイアログボックスを表示します。次の例では、3番目の引数を使用し、デフォルト値を提供しています。デフォルト値は、Excelに格納されているユーザー名(ApplicationオブジェクトのUserNameプロパティ)です。
Sub GetName()Dim TheName As String TheName = InputBox( "あなたの名前は何ですか?"、_ "Greetings"、Application。UserName)End Sub
InputBoxには常にキャンセルボタンが表示されます。ユーザーが[キャンセル]をクリックすると、InputBox関数は空の文字列を返します。
VBAのInputBox関数は常に文字列を返します。値を取得する必要がある場合、コードで何らかの追加チェックが必要です。次の例では、InputBox関数を使用して数値を取得します。 IsNumeric関数を使用して、文字列が数値かどうかをチェックします。文字列に数値が含まれている場合は、すべて正常です。ユーザーの入力を数字として解釈できない場合、コードはメッセージボックスを表示します。
Sub AddSheets()Dimプロンプトとして文字列Dim字幕として文字列Dim DefValue Long Dim NumSheets As Stringプロンプト= "いくつのシートを追加しますか? "キャプション="私に教えてください… "DefValue = 1 NumSheets = InputBox(プロンプト、キャプション、DefValue)NumSheets =" "Then Exit Sub& IsNumeric(NumSheets)の場合はキャンセル、Then NumSheets> 0ならSheets。追加カウント:= NumSheets Else MsgBox "無効な番号" End If End Sub
このルーチンが生成するダイアログボックスを確認します。
InputBox関数を使用するもう1つの例。別のタイプのInputBox
<! - 1 - >ここに示す情報は、VBAのInputBox関数に適用されます。マイクロソフトは混乱を恐れているようですので、ApplicationオブジェクトのメソッドであるInputBox メソッド にもアクセスできます。
アプリケーションInputBoxメソッドを使用する大きな利点の1つは、コードが範囲選択を促すことができることです。ユーザーは、セルを強調表示してワークシート内の範囲を選択できます。ユーザーに範囲を選択するように促す簡単な例があります:
<! - 2 - >Sub GetRange()Dim Rng As範囲On Error次のSet Rng = Applicationを再開する。 InputBox _(プロンプト:= "範囲の指定:"、タイプ:= 8)RngがNothingならExit Sub MsgBox "範囲を選択しました"&Rng。 Address End Sub
これは見た目です。
アプリケーションInputBoxメソッドを使用して範囲を取得します。この単純な例では、コードは選択された範囲のアドレスをユーザーに通知します。実生活では、コードは実際には選択した範囲で役に立つ何かを行います。この例の良い点は、Excelがエラー処理を担当することです。範囲ではないものを入力すると、Excelからそのことが伝えられ、再度試してみることができます。
<! - 3 - >申請書。 InputBoxメソッドはVBAのInputBox関数と似ていますが、いくつかの違いもあります。詳細については、ヘルプシステムを確認してください。