【VBA】メッセージボックス内で本文を改行する

エクセルVBAで使用するコードの備忘録。VBAでメッセージボックスを表示し、その本文内で任意の改行を行うコード。メッセージ本文として指定する文字列に「改行コード」を入れ込むことで可能になります。メッセージボックスを表示するコードの詳細についてはこちらをご覧ください。

スポンサーリンク

改行コードを使用して文字列を改行する

改行コードはいくつかの種類がありますが、今回はウィンドウズで一般的に使用されているvbCrLf(キャリッジリターン・ラインフィード)を用いて文字列を改行する例を見てみます。

文字列を改行する際には下記のように改行コードを間に挟んで文字列を作ります。

"[一行目]" & vbCrLf & "[二行目]" & vbCrLf & ...

もしお使いの環境でvbCrLfがうまく改行コードとして動作しない場合は、こちらで紹介しているその他の改行コードを試してみてください。

サンプルコード

下記のサンプルコードでは、メッセージボックスの本文内で改行を行い、メッセージを2行で表示しています(ちなみにタイトル内では改行はできません)。

なお、コードを使用する際はカッコに囲まれた部分([***])を自分のプログラムに合わせて変更してください。

Public Sub MsgboxTest()
    
    '--- MsgBoxの戻り値 ---'
    Dim msgbox_ret As Long
    
    '--- 引数の設定 ---'
    Dim title_str As String
    Dim message_str As String
    Dim button_long As Long
    Dim icon_long As Long
    title_str = "[タイトル]"
    message_str = "[メッセージ一行目]" & vbCrLf & "[メッセージ二行目]"
    button_long = vbOKOnly
    icon_long = vbExclamation
    
    '--- メッセージボックスを表示 ---'
    msgbox_ret = MsgBox(message_str, button_long + icon_long, title_str)
    
End Sub