Excelのセルの末尾の余分な改行をまとめて削除するVBAのサンプルコードを紹介します。
仕様
下記のシートのA列のように文末に余分に改行があるとします。※B列に補足を入れています
これを以下のシートのように、余分な改行を削除するVBAを考えました。
文章の途中の改行は残しつつ、文末の改行だけを消すのです。
ソースコード
ソースコードは以下のとおりです。
Option Explicit
Sub deleteLineBreak()
Dim i As Long
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
Dim CellValue As String
CellValue = Worksheets("Sheet1").Cells(i, 1).value
'文字数回繰り返す
Dim j As Long
For j = 1 To Len(CellValue)
'最後の文字が改行コードの場合
If Right(CellValue, 1) = vbLf Or Right(CellValue, 1) = vbCr Then
'最後の文字以外を格納
CellValue = Left(CellValue, Len(CellValue) - 1)
'最後の文字が改行コード以外の場合
Else
'繰り返しから抜ける
Exit For
End If
Next
Worksheets("Sheet1").Cells(i, 1).value = CellValue
Next
End Sub
ソースコードは以下の通り、ThisWorkbookに貼り付けました。
実行
実行手順
Alt + F8でマクロの一覧から先ほどのマクロの関数を実行します。
実行結果
マクロの実行ボタンを押下すると、A列のセルの末尾の改行が削除されています。
参考情報
環境
下記の環境で作成・実行しております。
No. | 環境 | バージョン |
---|---|---|
1 | OS | Windows11 |
2 | Excel | Excel2016 |
以上です。