• 公開日:
  • 更新日:

Excel VBAのMsgBox内で改行する方法

メッセージボックス(MsgBox)を使って長いメッセージを表示する場合、改行位置が指定されていないと、見栄えが悪くなることがあります。

メッセージボックスで表示するメッセージは、VBAコードを使って任意の位置で改行することができます。

この記事では、エクセルのVBAを使ってMsgBox内のメッセージを改行する方法について解説します。また、MsgBoxの意味、開発タブの表示方法、MsgBox内で改行するためのVBAコードも説明しています。

MsgBoxとは?

MsgBox

メッセージボックス(MsgBox)とは、コンピュータの操作画面上に表示され、何らかの伝達内容をユーザーに通知するためのダイアログボックスのことです。

Excelでは、Visual Basicでメッセージボックスの内容を編集することができます。

改行済のMsgBox

上図のように、メッセージボックスの文を改行して2行以上で表示することができますので、詳しくは下記のVBAの使用方法を参照してください。

開発タブを表示する

ExcelでVBAを使用するには、開発タブを表示する必要がありますが、その方法を以下に説明します。

ファイルタブを選択する

ファイルタブを選択します。

オプションタブを選択する

オプションタブを選択します。

開発にチェックを入れる

「Excelのオプション」ダイアログボックスが表示されました。

「リボンのユーザー設定」タブを選択し、「開発」にチェックマークを入れ、OKボタンを押します。

開発タブの表示

開発タブが表示されました。

MsgBoxの改行に使用するVBAコード

改行済のMsgBox

メッセージボックス(MsgBox)内の文を2行以上に改行する場合は、次のような改行のVBAコードを入力する必要があります。

Sub NewLine()
MsgBox "IPv6サービスの対応状況" & vbCrLf & "(ISP全体及び規模別)"
End Sub

今回のVBAで使用するMsgBox関数は、警告やメッセージなどのダイアログボックスを画面に表示する関数です。

ここでは、「IPv6サービスの対応状況」と「(ISP全体及び規模別)」の間に改行を入れて文字列を結合したいので、改行コードである「vbCrLf」を使用しています。

VBAで使用できる改行コードの種類は、下表のとおりです。

定数説明
vbCrLfChr(13) + Chr(10)キャリッジ リターンとライン フィードの組み合わせ
vbCrChr(13)キャリッジ リターン
vbLfChr(10)ライン フィード

「vbCrLf」は、Windowsで一般的な改行コードです。同じ改行コードとして、MacOSでは「vbCr」、Linuxでは「vbLf」 が一般的に使用されています。

また、Excelのセル内の改行には 「vbLf」を使用します。

Excel VBAのMsgBox内で改行する方法

Excel VBAのMsgBox内で改行する方法について解説します。なお、VBAコードを入力する前に、Excelのリボンに開発タブを表示する必要がありますので、詳細は上記「開発タブを表示する」セクションを参照してください。

開発タブ、Visual Basicの順に選択します。

挿入タブ、標準モジュールの順に選択します。

VBAコードを入力し(上記「MsgBoxの改行に使用するVBAコード」を参照)、Sub/ユーザー フォームの実行を選択します。

MsgBox(プレビュー)が表示されました。文が2行に改行されていました。