ChatGPTで作ったマクロを使いやすくしたい!
実行前の確認や完了メッセージを出したいが、面倒くさい…
ChatGPTでVBAを作った後、実行の確認や完了の通知などが出せたら便利なのに…と思う事はありませんか?少しVBAの知識がある方なら「VBAメッセージボックスを使えばできる」と言う事は知っていても、それを使うのが面倒という方も多いかもしれません。
そこで今回、だれでも手軽に使える「コピペで簡単に実装できるMsgBox」を紹介します。シンプルなコードからカスタマイズ方法まで、必要な内容だけを厳選しています。ぜひ、最後まで読んでみてください!
【コピペOK】VBAメッセージボックスの基本コード
メッセージボックスとは
メッセージボックスは、特定のメッセージを表示するウィンドウのことです。

Yes/Noを表示させることもでき、「実行しますか?」と確認するで、誤操作を防ぐことができます。

VBAメッセージボックスの基本コード
処理が完了したときに通知するコードは、こちらです。
MsgBox “処理が完了しました。”
これをコードの最後、「End Sub」の上に貼り付けるだけでOKです。
メッセージ内容の変更や、より詳細なカスタマイズ方法については次の章で紹介します。
「実行しますか?」を表示する実行確認コード
処理の前に「実行しますか?」と確認するコードはこちらです
If MsgBox(“実行しますか?”, vbYesNo) = vbNo Then
Exit Sub
End If
このコードをマクロの最初、Sub 〇〇()の直下に貼り付ければ、Noを押した場合に処理が中断されるメッセージボックスが表示されます。
このほか、Yes/Noで動作を分岐させたい場合のカスタマイズ方法も次で詳しく解説します。
【解説】VBAメッセージボックスのカスタマイズ方法
メッセージテキストの変更方法
メッセージボックスに表示されるテキストは、MsgBox
の次に書く“”(ダブルクォーテーション)の中を変更します。
MsgBox "※ここを変更する※"
メッセージボックスのタイプ変更
テキストの次にコードを書くことで、OKだけのタイプやYes/Noのタイプなどに変更することができます。デフォルトではOKだけのタイプなっているため、OKだけの場合は省略が可能です。
<OKだけのメッセージボックスの場合>MsgBox "本文", vbApplicationModal
<Yes/Noのメッセージボックスの場合>
MsgBox “本文”, vbYesNo
この2種類以外にもタイプが存在します。ですが、ほぼほぼこの2つしか使わないので、今回は紹介を割愛します。
タイトルバーのテキストを変更する方法
デフォルトでは「Microsoft Excel」と表示されるタイトルバーの文字も、カスタマイズできます。

コードとしては次の通りです。
<OKだけのメッセージボックスの場合>MsgBox "本文", vbApplicationModal, "タイトル"
<Yes/Noのメッセージボックスの場合>
MsgBox “本文”, vbYesNo, “タイトル
<実行確認のメッセージボックスにタイトルを入れる場合>
If MsgBox(“実行しますか?”, vbYesNo, “タイトル”) = vbNo Then
Exit Sub
End If
メッセージ内に改行を追加する方法
メッセージ内で改行したい場合は、vbCrLf
を使います。
MsgBox "処理が完了しました!" & vbCrLf & "次のステップに進みますか?"
このコードを実行すると次のように表示されます。

Yes/Noの選択によって動作を変える
Yes/Noで別の動きをさせたい場合は、If構文を使って分岐させることができます。
次のコードでコメントアウトしている「Noの場合/Yesの場合」の部分を書き換えれば、動作を変える事が出来ます。
If MsgBox(“実行しますか?”, vbYesNo, “タイトル”) = vbNo Then
’Noの場合の動作
else
’Yesの場合の動作
End If
IF構文がわからない初心者の方、おさらいしたい中級者の方は、こちらも参考にしてください。
コピペで使えるVBAメッセージボックスまとめ
最近はChatGPTを使う事で、ほとんどのコードを自動的に生成できるようになりました。しかし、実行確認や完了通知など、実際の使い勝手を向上させる部分は手動で追加する必要があります。
今回紹介したコードは、すべてコピペで簡単に使えるので、ぜひマクロに追加してみてください。
当ブログでは、VBAの基礎やChatGPTを活用したVBA作成方法等も解説しています。是非他の記事も、読んでいただけると嬉しいです!
コメント