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の「セル内」を改行する方法は、「”改行前の文字列” & 「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」でしたね。
オススメ書籍