実務でよくある改行の使い方まとめ(Excel VBA)
改行は「見やすさ」「伝わりやすさ」を大きく左右します。実務では特に 住所の整形、エラーメッセージの表示、リストの縦並び表示 でよく使われます。ここではそれぞれの典型例とポイントを整理します。
1. 住所の整形(セル内改行)
例:都道府県と市区町村を1セルにまとめる
Sub 住所を改行して表示()
Range("C2").Value = Range("A2").Value & vbLf & Range("B2").Value
Range("C2").WrapText = True
End Sub
VB- 用途: 郵便物の宛名や帳票出力用に住所を整形
- ポイント:
- セル内改行は
vbLfを使う WrapText = Trueを忘れると改行が見えない
- セル内改行は
2. エラーメッセージの表示(MsgBoxで複数行)
例:入力チェックで複数のエラーをまとめて表示
Sub 入力チェックエラー()
Dim msg As String
msg = "エラーがあります:" & vbCrLf
msg = msg & "- 氏名が未入力です" & vbCrLf
msg = msg & "- 年齢が数値ではありません"
MsgBox msg, vbExclamation, "入力エラー"
End Sub
VB- 用途: 入力チェックや処理失敗時の通知
- ポイント:
- MsgBoxでは
vbCrLfを使うと確実に改行される - 箇条書きにするとユーザーに伝わりやすい
- MsgBoxでは
3. リストの縦並び表示(1セルにまとめる)
例:複数の商品名を1セルに縦並びで表示
Sub リストを縦並びで表示()
Dim items As Variant
items = Array("りんご", "みかん", "ぶどう")
Range("E2").Value = Join(items, vbLf)
Range("E2").WrapText = True
End Sub
VB- 用途: 複数データを1セルにまとめて表示(報告書や印刷用)
- ポイント:
Join(配列, vbLf)を使うと末尾に余計な改行がつかない- セルの折り返し表示を有効にする
まとめ
| シーン | よく使う改行コード | 注意点 |
|---|---|---|
| 住所をセル内で整形 | vbLf | WrapTextを必ず設定 |
| エラーメッセージ(MsgBox) | vbCrLf または vbNewLine | 箇条書きにすると見やすい |
| リストを縦並び表示 | vbLf(+Join関数) | 余計な改行を防げる |
実務では「セル内は vbLf」「MsgBoxは vbCrLf」と覚えておくと迷いません。

