- 公開日:
- 更新日:
Excel VBAのMsgBox内で改行する方法
メッセージボックス(MsgBox)を使って長いメッセージを表示する場合、改行位置が指定されていないと、見栄えが悪くなることがあります。
メッセージボックスで表示するメッセージは、VBAコードを使って任意の位置で改行することができます。
この記事では、エクセルのVBAを使ってMsgBox内のメッセージを改行する方法について解説します。また、MsgBoxの意味、開発タブの表示方法、MsgBox内で改行するためのVBAコードも説明しています。
MsgBoxとは?
メッセージボックス(MsgBox)とは、コンピュータの操作画面上に表示され、何らかの伝達内容をユーザーに通知するためのダイアログボックスのことです。
Excelでは、Visual Basicでメッセージボックスの内容を編集することができます。
上図のように、メッセージボックスの文を改行して2行以上で表示することができますので、詳しくは下記のVBAの使用方法を参照してください。
開発タブを表示する
ExcelでVBAを使用するには、開発タブを表示する必要がありますが、その方法を以下に説明します。
ファイルタブを選択します。
オプションタブを選択します。
「Excelのオプション」ダイアログボックスが表示されました。
「リボンのユーザー設定」タブを選択し、「開発」にチェックマークを入れ、OKボタンを押します。
開発タブが表示されました。
MsgBoxの改行に使用するVBAコード
メッセージボックス(MsgBox)内の文を2行以上に改行する場合は、次のような改行のVBAコードを入力する必要があります。
Sub NewLine()
MsgBox "IPv6サービスの対応状況" & vbCrLf & "(ISP全体及び規模別)"
End Sub
今回のVBAで使用するMsgBox関数は、警告やメッセージなどのダイアログボックスを画面に表示する関数です。
ここでは、「IPv6サービスの対応状況」と「(ISP全体及び規模別)」の間に改行を入れて文字列を結合したいので、改行コードである「vbCrLf」を使用しています。
VBAで使用できる改行コードの種類は、下表のとおりです。
定数 | 値 | 説明 |
---|---|---|
vbCrLf | Chr(13) + Chr(10) | キャリッジ リターンとライン フィードの組み合わせ |
vbCr | Chr(13) | キャリッジ リターン |
vbLf | Chr(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行に改行されていました。