image

Excelでは、入力を取得する方法が複数あります。関数の引数を使用して入力を取得し、Excelのセルと範囲を入力領域として使用して、そこから値を取得できます。ユーザーフォームを使用して、ユーザーから入力を取得することもできます。しかし、Excelは、ユーザーから入力を取得するもう1つの方法を提供します。

それらはInputBoxと呼ばれます。 VBAのInputBoxは、事前に設計されたユーザーフォームの一種です。入力ボックスを使用して、複数のタイプの入力を取得できます。ただし、入力は一度に1つのタイプの入力しか取得できません。 Excelには2種類の入力ボックスがあります。 1つは単純なInputBoxで、もう1つはApplicationInputBoxです。入力ボックスには、さまざまな種類の入力を処理するための複数の引数があります。この記事ではそれらのいくつかを学びます。

Simple VBA InputBoxこの入力ボックスは関数であるため、VBAで直接使用できます。

この関数は、ユーザーフォームに値の入力を求めるプロンプトを表示します。 InputBox関数の構文は次のとおりです:

InputBox(prompt, [Title], [Default], [Xpos], [YPos], [HelpFile],

[Context])

プロンプト:これが唯一の必須引数です。ダイアログボックスにメッセージとして表示される文字列式です。プロンプトの最大長は、使用される文字の幅にもよりますが、約1024文字です。プロンプトが複数行で構成されている場合は、キャリッジリターン文字(Chr(13))、ラインフィード文字(Chr(10))、またはキャリッジリターンとラインフィード文字の組み合わせ((Chr(13))を使用して行を区切ることができます。 &(Chr(10))各行の間に

[title]:オプションです。ダイアログボックスのタイトルバーに表示される文字列式です。タイトルを省略すると、アプリケーション名が配置されます。タイトルバーに表示されます。Excelを使用している場合は、Microsoft Excelが表示されます。

[デフォルト]:*これもオプションです。他に入力がない場合のデフォルトの応答としてテキストボックスに表示される文字列式です。

デフォルトを省略すると、テキストボックスは空で表示されます。

[xpos]:*ダイアログボックスの左端の水平方向の距離をtwipで指定する数式画面の左端。xposを省略すると、ダイアログボックスは水平方向の中央に配置されます。

[ypos]:*垂直方向をtwipで指定する数式画面の上部からダイアログボックスの上端までの距離。

yposを省略すると、ダイアログボックスは画面の約3分の1の位置に垂直に配置されます。

[helpfile]:ダイアログボックスの状況依存ヘルプを提供するために使用するヘルプファイルを識別する文字列式。ヘルプファイルを提供する場合は、コンテキストも提供する必要があります。

[コンテキスト] *:ヘルプ作成者によって適切なヘルプトピックに割り当てられたヘルプコンテキスト番号である数式。コンテキストを提供する場合は、ヘルプファイルも提供する必要があります。

十分な理論。このinputbox関数の使用方法を理解するためにいくつかの例を見てみましょう。

例1:ユーザーに挨拶するための入力を取得するサブがユーザーに挨拶したいとします。そこで、ユーザーの名前を尋ねて、「HelloUserName」と挨拶します。そのために私はこのコードを使用します:

Sub InputBoxExample()

user_name = InputBox("Please Enter Your Name.")

MsgBox ("Hello " & user_name & "!")

End Sub

上記のコードをVBAで実行すると、「名前を入力してください」という見出しのユーザーフォームが表示されます。下にテキストボックスがあります。

ウィンドウの名前が「MicrosoftExcel」で、テキストボックスが空であることがわかります。これらの引数を使用して値を設定していないためです。

image

例2:入力ボックスのタイトルをGreet Userとして設定し、デフォルト値をUserとして設定するこの例では、vbaがアプリケーション名を表示できないようにタイトルをgreet userとして設定し、デフォルト値をUserとして設定してテキストボックスには空が表示されます。

Sub InputBoxExample()

user_name = InputBox("Please Enter Your Name.", "Greet User", "Uesr")

MsgBox ("Hello " & user_name & "!")

End Sub

上記のコードを実行すると、これが出力になります。

image

他の引数はあまり使用されません。これらは基本的に、Excelのエッジでユーザーフォームの場所を設定するために使用されます。最後の2つの引数は、コンテキスト情報をユーザーに提供するために使用されます。

そうですね、inputboxを使用して、Inputbox関数を使用してExcelでユーザーから入力を取得できるようになりました。ここでApplication.InputBoxについて説明しました。

こちらもチェックしてください。このinputbox関数よりも強力です。

私は十分に説明的であり、それがあなたに役立ったことを願っています。この記事またはその他のVBAトピックについて質問がある場合は、以下のコメントセクションでお知らせください。

関連記事:

link:/ applications-word-outlook-in-vba-getting-started-with-excel-vba-userforms [Excel VBAUserForms入門] | * Excelでフォームを作成する方法と使用方法を説明しますVBAツールボックス、ユーザー入力の処理方法、そして最後にユーザー入力の保存方法。これらのトピックについて、1つの例とステップバイステップガイドを使用して説明します。

link:/ general-topics-in-vba-vba-variables-in-excel [ExcelのVBA変数] | * VBAはVisualBasic forApplicationsの略です。

これは、Microsoftのプログラミング言語です。これは、MSExcel、MS-Word、MS-AccessなどのMicrosoft Officeアプリケーションで使用されますが、VBA変数は特定のキーワードです。

link:/ general-topics-in-vba-excel-vba-variable-scope [Excel VBA Variable Scope] | *すべてのプログラミング言語には、定義された変数にアクセスできる場所を定義する変数アクセス指定子があります。 ExcelVBAも例外ではありません。 VBAにもスコープ指定子があります。

link:/ cells-ranges-rows-and-columns-in-vba-what-is-the-difference-between-byref-and-byval-arguments-vba-interview-question [ByRef and ByVal Arguments] |引数がByRef引数として別のサブまたは関数に渡されると、実際の変数の参照が送信されます。変数のコピーに加えられた変更は、元の引数に反映されます。

link:/ files-workbook-and-worksheets-in-vba-delete-sheets-without-confirmation-prompts-using-vba-in-microsoft-excel [MicrosoftExcelのVBAを使用して確認プロンプトなしでシートを削除する] | VBAを使用してシートを削除しているので、何をしているのかがわかります。

この警告を表示せず、いまいましいシートを削除しないようにExcelに指示します。

link:/ files-workbook-and-worksheets-in-vba-add-and-save-new-workbook-using-vba-in-microsoft-excel [Microsoft Excel2016でVBAを使用して新しいブックを追加および保存する] |このコードでは、最初にワークブックオブジェクトへの参照を作成しました。次に、新しいワークブックオブジェクトで初期化しました。このアプローチの利点は、この新しいワークブックの操作を簡単に実行できることです。保存、閉じる、削除などのように `link:/ menus-toolbars-status-bar-in-vba-display-a-message-on-the-statusbar-using-vba-in-microsoft-excel [Display A Message On ExcelVBAステータスバー*] `| Excelのステータスバーはコードモニターとして使用できます。 VBAコードが長く、VBAを使用していくつかのタスクを実行する場合、画面のちらつきが表示されないように、画面の更新を無効にすることがよくあります。

link:/ general-topics-in-vba-turn-off-warning-messages-using-vba-in-microsoft-excel [Microsoft Excel2016でVBAを使用して警告メッセージをオフにする] | *このコードはVBAを無効にするだけではありませんアラートだけでなく、コードの時間効率も向上します。方法を見てみましょう。

人気の記事:

link:/ keyboard-formula-shortcuts-50-excel-shortcuts-to-increase-your-productivity [生産性を高めるための50のExcelショートカット] |あなたの仕事をより速くしてください。これらの50のショートカットにより、Excelでの作業がさらに高速になります。

link:/ forms-and-functions-introduction-of-vlookup-function [ExcelのVLOOKUP関数] |これは、さまざまな範囲やシートから値を検索するために使用される、Excelの最も使用され人気のある関数の1つです。 link:/ Tips-countif-in-microsoft-excel [COUNTIF in Excel 2016] |この驚くべき関数を使用して、条件付きの値をカウントします。特定の値をカウントするためにデータをフィルタリングする必要はありません。

ダッシュボードを準備するには、Countif関数が不可欠です。

link:/ excel-formula-and-function-excel-sumif-function [ExcelでSUMIF関数を使用する方法] |これは、ダッシュボードのもう1つの重要な機能です。これは、特定の条件で値を合計するのに役立ちます。