サイトについて      連絡先   検索

VBA 文字列の改行

はじめに

Excel VBA の 文字列 (String) を改行する方法を紹介します。

Windows の一般的な改行コードは vbCrLf です。

Excel のセル内で改行すると vbLf で改行されます。

文字列の改行

文字列を改行するには vbCrLf 定数を文字列に結合します。vbCrLf は vbCr と vbLf の組み合わせで Windows の改行コードです。

Dim s As String
s = "一行目" & vbCrLf & "二行目"
Debug.Print (s)
' 一行目
' 二行目

セルの改行

セルで改行するには Alt + Enter を入力します。このときの改行コードは vbLf になっています。

この仕様に合わせるため、VBA のコードからセルに改行した文字列を設定するには vbLf で改行します。

Range("A1").Value = "一行目" & vbLf & "二行目"
1

コードの改行

コードを途中で改行するには _ を末尾に付けます。

Dim s As String
s = "一行目" _
    & vbCrLf _
    & "二行目"

' s = "一行目" & vbCrLf & "二行目" と同じコードです。

_ の後ろにはコメントを書けません。

注意点

vbCrLf と vbLf の改行の違いから、ファイルへの出力に注意が必要です。

テキストファイルなどの改行コードは vbCrLf なので セルの vbLf を vbCrLf へ置換してから出力する必要があります。

Dim s As String
s = Range("A1").Value

Dim 置換後 As String
置換後 = Replace(s, vbLf, vbCrLf)

' 置換後の値を出力します。

関連ページ