やりたいこと
画面にメッセージを表示して、処理を分岐する
VBA起動後に以下のようなポップアップを表示します。
Yesボタンを押すと「後続処理開始」のポップを出現させて、
Noボタンを押すと「処理中断」のポップアップを出現させて処理を中断するといった処理を行いたいと思います。
基本的な処理ですが、条件分岐や引数、戻り値などの重要なポイントが詰まっている処理です!
コードと解説は以下の通りです。
【VBA コード】
ポイント
引数でメッセージボックスを設定
今回は、MsgBoxの引数にvbYesNoを設定することで「はい」「いいえ」を選択できるようになりました。
このように引数を変更することで、様々なメッセージボックスを表示させることが可能です。
指定できるボタンとアイコンには下の図のように値が割り当てられています。
例えばこのように記載すると表示されるメッセージボックスは以下のようになります。
Exit Sub
Exit Subはマクロの処理を終了する命令です。
End Subも同じくマクロを終了する命令となりますが、
Exit Subは厳密に言うと、プログラムを終了させるわけではなく、Subから抜けるという意味になります。
Subを呼び出したプロシージャに戻ります。
End Subはプログラムを完全に終了させます。
戻り値
メッセージボックスのボタンには、戻り値と呼ばれる値が割り当てられています。
ボタンによって戻り値が異なるため、クリックされたボタンによって処理を分岐することができます。
戻り値は今回のようにvbNoとする以外にも「7」などの数値で判定することも可能です。
ひとこと
メッセージボックスはマクロの実行を一時停止して、変数の中身などの状態を確認するデバックとしても使うことができます。
処理がややこしくなってきた時は、メッセージボックスを上手く活用して流れを整理しましょう!
他にもVBAについて紹介しているのでぜひ参考にしてみてください!(^^)!
できるシリーズはフルカラーでかなり細かいところまで画像を使って解説してあるのでオススメです!