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 |
以上です。
コメント