【簡単Excelマクロ・VBA】インプットボックス|InputBox|Excelオブジェクトの操作 #002

アフィリエイト広告を利用しています。
QRコード
【QRコード】PC<-->スマホの切り替えにご利用ください
運営者・ポテ

いつもありがとうございます。

ノンプログラマー向け「Excelマクロ・VBA解説シリーズです。

本稿では、インプットボックス(InputBox)を操作する方法を解説いたします。

InputBoxは、VBAでユーザーから簡単に情報を取得するための便利な機能です。

この機能を使うと、ポップアップウィンドウが表示され、ユーザーが入力を行うことができます。

例えば、ユーザーに数値や文字列などのデータを入力させたい場合に利用され、ユーザーの入力値をプログラム内で活用できるようになります。

MsgBoxと並びユーザーとコミュケーションを行うために欠かせないツールです。

また、MsgBoxと同様に実装方法はシンプルです。

本稿ではこの InputBox の基本構文や具体例を解説いたします。

り尚、MsgBox に関してはこちらの記事で解説しておりますので、もしよければご覧ください。

ことばの意味

  • ノンプログラマー
    プログラミングを本職としない人たちのことです。
  • マクロ
    VBAを使って作成される「機能」のことです。
  • VBA
    Visusal Basic for Application の略で、プログラミング言語のことです。


VBAにおけるExcelオブジェクト操作の全体像

VBAにおける「Excelオブジェクトの操作」の全体像は以下の記事で解説しております。

本稿では「Excelオブジェクトの操作」の一部である「メッセージボックス」を解説いたします。

VBAでインプットボックス(InputBox)を操作する方法

基本構文

インプットボックスの基本構文を以下に示します。

InputBox(prompt, [title], [default], [xpos], [ypos], [helpfile], [context])

それぞれの引数の意味は下表のようになっています。

ことばの意味

  • 引数
    メソッドや関数、プログラムを制御するために渡す値やオブジェクトのことです。
引数説明データ型省略可否
promptユーザーに表示されるメッセージです。入力を求めるための指示文です。String必須
titleInputBox ウィンドウのタイトルバーに表示される文字列です。String省略可
defaultテキストボックスに表示される既定値です。String省略可
xposInputBox ウィンドウの左端の位置を示す X 座標です。省略すると中央に配置されます。Double省略可
yposInputBox ウィンドウの上端の位置を示す Y 座標です。省略すると中央に配置されます。Double省略可
helpfileヘルプボタンをクリックしたときに表示されるヘルプファイルへのパスです。省略するとヘルプボタンは表示されません。String省略可
contextヘルプファイル内の特定のトピックを指定するためのコンテキスト番号です。これは、ユーザーがメッセージボックスのヘルプボタンをクリックしたときに表示されるヘルプトピックを決定するために使用されます。helpfile が指定されている場合に有効です。Integer省略可
InputBox関数の引数

具体例と解説

InputBox 関数の具体例とマクロ実行結果を以下に示します。

Sub Sample()


' ユーザー名を格納する変数を宣言
Dim user_name As String


' InputBoxを表示して名前を取得
user_name = InputBox("名前を入力してください", "名前入力", "マイケル")


' 入力された名前に基づいて処理を分岐
If user_name = "" Then   ' 空入力またはキャンセルの場合
    MsgBox "名前の入力がキャンセルされました。"

Else
    MsgBox "こんにちは、" & user_name & "さん!"

End If


End Sub
空入力またはキャンセルの場合

運営者・ポテ

解説します。

' ユーザー名を格納する変数を宣言
Dim user_name As String

ここでは変数の宣言を行っています。これにより変数 user_name は As 以降で指定したデータ型のデータを格納できるようになります。

' InputBoxを表示して名前を取得
user_name = InputBox("名前を入力してください", "名前入力", "マイケル")

ここではインプットボックスを表示し、ユーザーに名前の入力を求めています。各引数は、基本構文通り、prompt、 [title]、 [default]の順で並んでいます。

引数引数の値説明
prompt"名前を入力してください"ユーザーに表示されるプロンプト(指示文)です。
title"名前入力"InputBoxのウィンドウタイトルに表示される文字列です。
default"マイケル"InputBoxのテキストボックスに初期値として表示される文字列です。
各引数の説明

ユーザーが名前を入力して「OK」をクリックすると、その入力値が変数 user_name に格納されます。

' 入力された名前に基づいて処理を分岐
If user_name = "" Then   ' 空入力またはキャンセルの場合
    MsgBox "名前の入力がキャンセルされました。"

Else
    MsgBox "こんにちは、" & user_name & "さん!"

End If

ここでは上述のユーザーの入力値に応じて、処理を分岐しています。

空入力またはキャンセルの場合は、メッセージボックスで「名前の入力がキャンセルされました。」のメッセージが表示されます。

値が入力され「OK」がクリックされた場合は、メッセージボックスで「こんにちは&user_name(ここはユーザーが入力した値が表示される)」のメッセージが表示されます。

運営者・ポテ

以上が、InputBoxの基本的な使い方です。ありがとうございました。

おわりに

運営者・ポテ

ご覧いただきありがとうございました。

本稿では、「Excelオブジェクトの操作」の中の「インプットボックスを操作する方法」を解説いたしました。

お問い合わせやご要望等ございましたら、「お問い合わせ/ご要望」またはコメントにて、ご連絡いただければ幸いでございます。

皆様の人生がより一層素晴らしいものになるよう、少しでもお役に立てれば幸いでございます。

なお、当サイトでは様々な情報を発信しております。もしよろしければ、トップページもご覧いただけると幸いでございます。


VBAプログラミングスキルアップのための参考情報

ここでは参考図書を紹介いたしますが、これらに限らず自分に合うものを選ぶことが重要だと考えております。皆様の、より一層のご成功を心よりお祈りしております。

VBAプログラミングのスキルアップ

学習用としてもハンドブックとしても役立つ便利な書籍がこちらです。価格はやや高めですが、その内容は非常に充実しています。相応のスキルを身に付けるためには、こうしたしっかりとした書籍を一冊持っておくと良いでしょう。



入門書に関しては、どの書籍も大きな違いはありません。あまり迷うことに時間をかけるよりは、手頃なものを一冊選んでみると良いでしょう。VBAの入門書は数多く出版されていますので、興味がある方はぜひチェックしてみてください。

甲乙つけがたい場合、私はインプレス社の「いちばんやさしい」シリーズを選ぶことが多いです。

\チェックしてみよう/

\チェックしてみよう/

\チェックしてみよう/


VBAのプログラミング能力を客観的に証明したい場合には「VBAエキスパート試験」があります。この試験はVBAの知識を公式に認定するものです。VBAの総合的な能力獲得を目指す方に適しています。以下の公式テキストが販売されております。



プログラミングの一般教養

「独学プログラマー」というプログラミングの魅力を解説した書籍があります。これはVBAではなくPythonを題材としていますが、プログラミングの基本的な知識や思考法、仕事の進め方まで幅広く学べます。


こちらの記事でも紹介しております。もしよろしければご覧ください。

QRコード
【QRコード】PC<-->スマホの切り替えにご利用ください

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です