Excel VBA | 文字列の結合

javascrpit VBA
スポンサーリンク

実務でよくある改行の使い方まとめ(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 を使うと確実に改行される
    • 箇条書きにするとユーザーに伝わりやすい

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) を使うと末尾に余計な改行がつかない
    • セルの折り返し表示を有効にする

まとめ

シーンよく使う改行コード注意点
住所をセル内で整形vbLfWrapTextを必ず設定
エラーメッセージ(MsgBox)vbCrLf または vbNewLine箇条書きにすると見やすい
リストを縦並び表示vbLf(+Join関数)余計な改行を防げる

実務では「セル内は vbLf」「MsgBoxは vbCrLf」と覚えておくと迷いません。

VBA
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました