この記事を読むのに必要な時間は約 4 分です。
メチャメチャ長いメッセージボックスって見たことありませんか?
「改行すればいいのに・・・」って思いますよね。
VBAでメッセージボックスを表示したいことはよくありますが、やり方を知らないと思い通りに改行できません。
ソースコードの中で改行してみても、メッセージボックスには反映されないんです。
改行したい場所に改行コードを入れる必要があります。
単純に改行コードを書いただけでは、単に文字列として表示されてしまい改行されません。
改行する方法と注意点を紹介します。
目次(リンク)
VBAでメッセージボックスを表示する方法
VBAでメッセージボックスを表示するには、
「MsgBox」に続けて、半角スペースの後文字列をつなげて書きます。
こんな感じです。
1 2 3 4 5 |
Public Sub msgDisplay() MsgBox "VBAのメッセージボックス(msgbox)で改行する方法 文章長すぎるので改行したい" End Sub |
でも長いと見づらいです。
改行したい・・・。
メッセージボックスに改行を入れる
改行を入れるには、改行コードを使います。
ソースコード上では「vbCrLf」と書きます。
F5キーなどで実行、メッセージボックスが表示されました。
意図した通り、「で」の後から改行されています。
改行コードは「””」の外側に入れて、「&」で繋ぐ
注意点が1つあります。
「vbCrLf」は文字列を囲む「””」の外側に書くこと、
そして「&」で繋ぎます。
もしも””の中に入れてしまったら・・・
メッセージボックスの中で、「vbCrLf」が文字通り表示されてしまいました。
なので、「””」の外側に、「&」で繋いで書きます。
「””」で囲まれた中身は文字列として扱われます。
「&」は文字列と文字列を繋ぎます。
1 2 3 4 5 |
Public Sub msgDisplay_Lf() MsgBox "VBAのメッセージボックス(msgbox)で" & vbCrLf & "改行する方法" End Sub |
ソースコード上で改行するにはアンダースコア「_」を使う
メッセージボックスの中で改行した理由の1つが、長すぎるというものでした。
そんな長いメッセージなら、ソースコードの中でも改行したくなりますよね。
ソースコード上では、アンダースコア「 _」を使います。
1行の中の一番右側に、半角スペースのあと「_」を入れることで、ソースコード1ステップの内容を分割することが出来ます。
1 2 3 4 5 6 7 |
Public Sub msgDisplay_Lf() MsgBox "VBAのメッセージボックス(msgbox)で" & vbCrLf & _ "改行する方法" & vbCrLf & _ "文章長すぎるので改行したい" End Sub |
2回改行して表示されました。
まとめ:VBAのメッセージボックス(msgbox)で改行する方法
メッセージボックスに表示する文字列を改行する方法でした。
- 改行コード「vbCrLf」で改行する
- 改行コードは、文字列を囲む「””」の外側に書く
- ソースコードを改行するなら、行の最後に「 _」を付ける
これで長めのメッセージを表示するのも大丈夫ですね。
最後までお読みいただき、ありがとうございました。