VBA【MsgBox内で改行】する方法を徹底解説!初心者でもできる!

ExcelのVBAでMsgBoxを使ってメッセージを表示する際、複数行にわたってメッセージを表示したいことがありますよね。

そんな時に役立つのが改行です。

この記事では、VBAのメッセージボックス内を改行する方法を初心者の方にもわかりやすく解説していきます。

◆はじめに

何かのメッセージを表示する時は、「MsgBox」関数を使用し、メッセージボックスを表示します。

メッセージを表示する文字が長くなると勝手に改行されて、読みにくい状態になってしまいます。
なので、自分でメッセージボックスの文字列を改行して複数行に表示する必要があります。

メッセージボックス内のメッセージを改行する方法は簡単なので
自由に改行できるように改行方法をマスターしちゃいましょう。

MsgBoxの改行には、改行コードというものを使用します。

なにも考えずに、MsgBoxに改行コードを使用するとVBAのソースコードも読みにくい状態になります。

改行コードを使用しても、ソースコードを読みやすい状態にする方法も紹介します。

表示するメッセージも読みやすくするなら、VBAのソースコードも読みやすくしましょう。

では、VBAのメッセージボックス内を改行する方法を解説していきます。

◆メッセージボックスについて

Excelで下記のような「メッセージボックス」を表示するには、VBAが必要になります。

Excel VBA MsgBox メッセージボックス表示 タイトル変更

ですが、簡易的でいい場合は
エクセルには、VBAの「メッセージボックス」に類似した機能があります。

それは、データ入力規則設定の「入力時メッセージ」や「エラーメッセージ」と
セルを右クリックし、メニューより設定できる「コメントの挿入」があります。

VBAの「メッセージボックス」と似ている機能ですが、視認性や使い勝手は劣ります。

◆「MsgBox」を改行する方法

ExcelのVBAでは、MsgBoxの改行には、改行コード「vbCrLf」を使用します。

改行コードとは?

VBAの文字列結合と同じ方法で、改行コードを結合します。

「&」 で文字列を「vbCrLf」を連結することで、改行を実現します。

文面より実際のコードを見た方が良いと思いますので
下記、MsgBoxの改行するサンプルコードをご覧ください。

・「MsgBox」を改行するサンプルコード

Sub メッセージボックスの改行()
Dim str As String

MsgBox "改行前" _
        & vbCrLf & "改行後" _
        , , "MsgBoxの改行は「vbCrLf」"
        
'---結果---
'改行前
'改行後
'---///---

End Sub

・サンプルコードの結果

上記、「MsgBox」を改行するサンプルコードのVBAを実行すると、このようになります。

ちゃんと、「MsgBox」の文字列が改行されていますね。

・サンプルコード解説

VBAの「MsgBox」を改行する方法は、「”改行前の文字列” & 「vbCrLf」 & “改行後の文字列”」で
改行することができます。

実際には、改行前の文字列と改行後の文字列は、なくても改行はできます。
(改行コードの「vbCrLf」のみでもメッセージボックスは使えますよ。という意味です)

改行コードの「vbCrLf」によって、空行のみ挿入される感じになります

VBAの「MsgBox」の改行コードは「vbCrLf」になります。

◆メッセージを改行時のソースコードについて

MsgBoxをたくさん改行すると、ソースコードが読みにくくなってしまします。

その場合も、簡単な対策しておくと、便利です。

VBAで改行してもソースコードを読みやすくする方法は、こちらで紹介しています。

◆他の改行方法

VBAでマクロを作成していると、MsgBoxの改行以外も改行したい事たくさんありますよね。

今回、解説したMsgBoxを改行する方法以外の改行方法をまとめましたので
興味ある方は、下記リンクをご覧ください。

VBAのソースコードを改行は、知っておくと便利ですよ。

・VBAで様々な改行(変数、セル内、メール文面の改行)

・VBAのソースコード自体を改行する

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です