top of page
ティーマネジメント株式会社 Tmanagement
TM_ロゴ_決定分_ol2.png

ExcelVBA ~InputBox関数を使ってみよう~

  • ムギ
  • 10月9日
  • 読了時間: 4分
ree

はじめに

こんにちは。ティーマネジメントのシステム担当ムギです。


今回は、Excel VABでユーザがテキストを入力できるダイアログボックスを表示する

InputBox関数についてご紹介します。

※似た機能であるApplication.InputBoxメソッドについては触れません。

Application.InputBoxメソッドは改めてご紹介いたします!




InputBox関数について

InputBox関数は、ユーザがテキストを入力できるダイアログボックスを表示することができる関数です。

ユーザが入力したテキストは、戻り値として受け取ることができます。


<InputBox関数の構文>

InputBox(メッセージ, [タイトル], [初期値], [左端からの距離], [上端からの距離 ], [ヘルプファイル, コンテキスト ])

※[]内の引数は省略可能

※[ヘルプファイル,コンテキスト]は説明を省略します。


<引数の内容>

○メッセージ ※必須

 ・ダイアログボックスに表示するメッセージ

 ・改行コードを使用し、複数行入力可能


○タイトル

 ・ダイアログボックスのタイトルバーに表示されるテキスト

 ・省略した場合、アプリケーション名(Microsoft Excel)が表示


○初期値

 ・テキスト入力ボックス内に予め表示されるテキスト

 ・省略した場合、テキスト入力ボックスの初期状態は空欄になる


○左端からの距離

 ・スクリーン画面の左端からダイアログボックス左端までの水平方向の距離

  ※デュアルモニターの場合、メイン画面を基準に判定

 ・twip単位で数値を指定する

 ・省略した場合は、現在マクロブックを開いている画面の水平方向の中央寄せでダイアログが表示

  ※デュアルモニターの場合、メイン画面を基準に判定


○上端からの距離

 ・スクリーン画面の上端からダイアログボックスの上端までの垂直方向の距離  ※デュアルモニターの場合、メイン画面を基準に判定

 ・twip単位で数値を指定する

 ・省略した場合、現在マクロブックを開いている画面の約1/3下の位置に表示


例えば、以下のようなコードを実行すると

ree

このようなテキスト入力ダイアログが表示されます。

ree


例えば、[タイトル]引数は省略し、[初期値]引数を指定する場合は

[タイトル]引数の部分は何も入力せずに「,」で区切って指定します。


以下のようなコードを実行した場合は

ree

このようなダイアログが表示されます。

[タイトル]引数を省略しているため、タイトルバーは「Microsoft Excel」となっています。

また、[初期値]引数以降の[左端からの距離]や[上端からの距離]も省略しているため、

マクロブックを開いている画面の上から1/3当たりの中央にダイアログが表示されています。

ree



InputBox関数の注意点

●InputBox関数は文字列を返す

InputBox関数は文字列を返すため、戻り値を受け取る変数には文字列型を指定する必要があります。


数値を格納できる長整数型などを指定することもできますが、

ユーザが正しく数値を入力しないとエラーになってしまいますので推奨されません。

※入力する型を指定したい場合は、Application.InputBoxメソッドの使用を検討します。


●ユーザが[キャンセル]を押した場合の動作

ユーザがテキスト入力ボックスの[キャンセル]ボタンを押した場合は空欄(“”)が返ります。

キャンセルされたかどうかを判定したい場合は、戻り値が空欄かどうかで判定する必要があります。


●テキスト入力ボックスには改行不可

テキスト入力ボックスにShift+Enterなどで改行を入力することはできません。

改行を含むテキストを貼り付けた場合、改行以降のテキストは切り捨てられます。




おわりに

今回はExcel VBAのInputBox関数についてご紹介いたしました。

ユーザにお名前など、何らかのテキストを入力してもらう場合に活用できます。


ユーザが入力した内容の判定や[キャンセル]ボタンが選択された場合の動作など

気を付ける部分はいくつかございますが、

私自身も、動作を正しく理解して活用できるようにしていきたいと思います。


今回も、お付き合いいただきありがとうございました。

CONTACT

お問い合わせ

滋賀県大津市別保三丁目11番32号

077-536-6330

平日10:00~18:00

労働者派遣事業 派 25-300477

有料職業紹介事業  25-ユ-300214 

問い合わせのご用件 必須項目

送信ありがとうございました

Copyright © ティーマネジメント株式会社 All Rights Reserved.

bottom of page