エクセル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