ついて情報発信しています。VBAプログラムは本当初心者から他のアプリケーションを呼び出して使う上級者的な使い方まで幅広いレベルで解説していきます。メッセージボックスを使いこなすVBAの勉強このブログの記事一覧にもどるTweetVBAで中級から上級へのステップアップの2回目です。今回は、他人に使ってもらうツールで頻繁に利用されるメッセージボックスで使い勝手を向上させ、メッセージボックス周りのエラーを撲滅していきます。初心者~三段をご参照ください。目次MsgBoxは関数MsgBox関数に戻り値がある事を確認する適切な引数を設定して使い勝手を向上するMsgBoxは関数この記事の対象読者であれば、一度は必ず使って事のあるメッセージボックス。入門でもおなじみのメッセージボックスについて考えていきます。簡単だけど、きちんと使いこなせば使い勝手の向上につながります。このMsgBoxは関数であると言うことは知っていますか?単にメッセージを出すだけなら関数である事を意識する必要は無いのですが、使い勝手がよいツールにしたり、エラーを防ぐためには戻り値を使う事が必須となります。マスターしていきましょう。MsgBox関数に戻り値がある事を確認するMsgBoxは関数ですが、初めてのVBAの時には戻り値を使っていませんでした。Sub関数と言う事は、本来ならカッコで囲むハズですよね。Subカッコをつけても同様にメッセージボックスが表示された関数なので戻り値があるはずです。それを表示してみます。Subイミディエイトウィンドウを開いた状態で実行してみて下さい。OKを押すと、1が表示されます。右上の×を押しても1が表示されます。実行結果MsgBox関数は単に表示させるメッセージのみを引数に取ったとき、ユーザーによるメッセージボックスの閉じ方にかかわらず、1が返ることが分かりました。OKを押しても×を押してもどちらでもいいときに使う場合は、戻り値を取得する必要が無いことになります。マクロの実行の最後の部分で「作業が完了しました」と言ったメッセージを出すときなどですね。適切な引数を設定して使い勝手を向上するここで、MsgBox関数の引数を調べます。調べると言えば、インターネットで検索をする事が真っ先に思い浮かぶかもしれませんが、中級から上級へのステップの中で、VBE(エディタ)に記載されている情報を確認できるようにしておきましょう。表示⇒オブジェクトブラウザを押します。検索ボックスの中に、msgboxと入力してエンターを押しましょう。オブジェクトブラウザでMsgBox関数を調べるMsgBoxをクリックすると一番下にMsgBox関数の説明が表示されます。下に表示された、MsgBox関数の説明この説明を正しく理解するにはクラスの概念が本当は必要です。クラスの概念が出てくるのは二段なので今は、「Functionとかいてあるから関数なはずで、何らかの値を返すんだな」くらいの理解で問題ありません。Promptはメッセージボックスに表示させるメッセージそのもののことです。[中カッコ]で囲まれた部分は省略できると言う意味です。これまでは後ろの4つの引数は全て省略していました。ここに引数を設定していきましょう。先ほどの「こんにちは!」と表示させるコードを改造していきます。