マクロの制御下にあるユーザーから入力を取得する必要がある場合、使用できる1つの方法は、InputBox関数を使用することです。この関数はダイアログボックスを表示し、ユーザーが応答を入力できるようにします。結果は文字列であり、マクロに返され、処理して使用できます。

InputBox関数の構文は次のとおりです。

sResponse = InputBox(sPrompt, sTitle, sDefault)

InputBoxで使用できるパラメーターは3つあり(それぞれ文字列)、最初のパラメーターのみが絶対に必要です。この構文では、sPromptはユーザープロンプトとして表示するテキスト、sTitleはダイアログボックスのタイトルバーに表示するテキスト、sDefaultはダイアログボックスでユーザーに提供されるデフォルトのテキスト文字列です。ユーザーは、必要に応じて、デフォルトの文字列を編集または受け入れることができます。

例として、次のコード行を使用してダイアログボックスを表示し、ユーザーに名前を尋ねることができます。

Dim sUserName as String Dim sPrompt as String Dim sTitle as String Dim sDefault as String

sPrompt = "Please check your name and make any corrections"

sTitle = "Name Entry"

sDefault = "John Doe"

sUserName = InputBox(sPrompt, sTitle, sDefault)

このコードが完了すると、sUserName変数にはユーザーが入力したものがすべて含まれます。次に、マクロで、適切と思われる他の方法でその入力を使用できます。

InputBox関数は、それを使用して1つの「質問」しか投稿できないため、一度に1つのデータを取得するのに最適です。マクロで使用するために大量のユーザー入力を取得する必要がある場合は、ユーザーフォームに依存するか、ワークシートから直接入力を取得する必要があります。 (どちらのアプローチも他の_ExcelTips_で説明されています。)

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(11416)は、Microsoft Excel 2007、2010、2013、および2016に適用されます。

Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります: