VBA 改行

VBA【文字列改行まとめ】”全ての改行をマスター”~MsgBox、変数、セル内、メール文面~

VBAで文字列の改行する方法コードの改行など、他の色々な改行方法を紹介します。

この記事を読めば、VBAに関する様々な改行をマスターできます。

VBAで改行するには、改行コードが必要になりますので、色々な改行コードも解説します。

他にも、改行したいと思う事があると思います。

例えば、変数の改行、セル内の改行、メール文面の改行、VBAのソースコードの改行など
ExcelのVBAで改行したいと思う事は、色々ありますよね。

思いつく限り、VBAで改行する方法を紹介していこうと思います。

エクセルVBAの「文字列」を、普通に改行するわけではなく
VBAのソースコードが見やすい方法で「文字列の改行」を紹介します。

誰が見てもソースコード見やすいと、VBAのデバッグも簡単になりますよね。

VBAの「MsgBoxの文字列改行」方法が書いているサンプルコード等を
見てもらえれば、ソースコードが見やすさを実感してもらえると思います。

他人から見ても、VBAコード理解しやすいコードを喜ばれますで、ぜひ、参考にしてください。

エクセルのVBAのメッセージボックスで改行がないと、わかりにくいメッセージとなってしまうので
しっかり、メッセージボックス内で改行して、見やすいメッセージボックスを作りましょう。

エディッタ上でのVBAのソースコードの改行に関しては、こちらの記事をご覧ください。

では、VBAでMsgBox等を改行する方法を紹介します。

◆VBAで改行する方法

ExcelVBAでは、MsgBox(メッセージボックス)などの文字列の改行には、改行コードを使用します。

VBAの文字列結合と同じ方法で
改行したい箇所に半角の「&」と「改行コード」を結合します。
そうすれば、VBAでMsgBoxの改行を簡単にする事ができます。

改行コードとは?

「改行コード」は、VBAだけではなく、他のプログラムでも、よく使用します。

ですので、「改行コード」を覚えておくといいですよ。

「”改行前” & vbCrLf & “改行後”」で改行できます。

ですが、下記のコードのように
改行している箇所に、ソースコードも改行しておくと
改行している箇所がすぐにわかり、理解しやすいコードになるので、オススメです。

・「MsgBox」を改行する方法

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

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

End Sub

冒頭で説明したとおり、VBAで改行するには、改行コードが必要です。

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

実際には、改行前の文字列と改行後の文字列は、なくても改行はできます。

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

よって、VBAの「MsgBox」の改行コードは「vbCrLf」です。

VBAの「MsgBox」の文字列を改行については、こちらの記事でも詳しく解説しています。

・「文字列変数」を改行する方法

Sub 文字列変数の改行()
Dim str As String

str = "改行前" & vbCrLf & "改行後"
Debug.Print str

'---結果---
'改行前
'改行後
'---///---

End Sub

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

「変数」を改行する方法は、「MsgBox」と同様ですね。

よって、VBAでの「文字列変数」の改行コードは「vbCrLf」です。

・「セル内」を改行する方法

Sub セル内の改行()
Dim str As String

str = "改行前" & vbLf & "改行後"
[A1].Value = str
Debug.Print str

'---結果---
'改行前
'改行後
'---///---

End Sub
VBAでセル内の文字列改行

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

よって、VBAでの「セル内」での改行コードは「vbLf」です。

・「メールの文面」を改行する方法

Sub 文字列変数の改行()
Dim str As String

str = "改行前" & vbCrLf & "改行後"
Debug.Print str

'---結果---
'改行前
'改行後
'---///---

End Sub

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

よって、VBAでテキスト形式の「メールの文面」での改行コードは「vbCrLf」です。

・「VBAのソースコード」を改行する方法

VBAソースコードの改行に関しては、こちらの記事をご覧ください。

◆改行コードとは

改行コードとは、「vbCrLf」などパソコンが改行を認識する目に見えないもので
VBAの改行に限らずさまざまな場面で使用されるものです。

◆改行してもソースコードを見やすくする方法

VBAで改行してもソースコードを見やすくする方法を紹介します。

簡単なテクニックです。

変数とかMsgBoxを改行すると、どうしても実行結果が、ぱっと見でわかりにくくなってしまいます。

勘の鋭い方は、上記のサンプルコードを見てお気づきだとは思います。

VBAでMsgBoxを改行しても、ソースコードを見やすくする方法は、ソースコードも
改行してしまえば良いのです。

では、VBAの改行サンプルコードをご覧ください。

・改行がわかりにくい例

Sub わかりにくい改行()
Dim str As String

MsgBox "改行前" & vbCrLf & "改行後" & vbCrLf & "改行後" & vbCrLf & "------" & vbCrLf & "改行後"
        
'---結果---
'改行前
'改行後
'---///---

End Sub

・改行がわかりやすい例

Sub わかりやすい改行()
Dim str As String

MsgBox "改行前" _
        & vbCrLf & "改行後" _
        & vbCrLf & "改行後" _
        & vbCrLf & "------" _
        & vbCrLf & "改行後" _
        
'---結果---
'改行前
'改行後
'---///---

End Sub

・結果

どちらも実行結果は同じですが、コードの読みやすさはあきらかに後者ですよね。

ぜひ、VBAの改行方法を真似してみてください。

ソースコードの改行はこちらで紹介していますが「_」でできます。

注意点があるので、ぜひリンク先の記事をご覧ください。

◆まとめ

ExcelのVBAの改行の方法をまとめると
文字列変数とメッセージボックス(MsgBox)の改行とメールの文面の改行は
「vbCrLf」
セル内の改行は、「vbLf」です。

ほとんど、「vbCrLf」でしたね。

オススメ書籍

コメントを残す

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