全セル内を10文字ごとに強制改行する

 

■エクセルをマクロで実行させるコマンドです
✅ Excelマクロコード(VBA)
Excelを開く
Alt + F11でVBAエディタを開く
挿入> モジュール を選択
コードを貼り付けてください

 

✅ 全セル内を10文字ごとに強制改行する

Sub WrapEvery10Chars()

Dim ws As Worksheet
Dim rng As Range
Dim c As Range
Dim txt As String
Dim i As Long
Dim newTxt As String

Set ws = ActiveSheet

'使用範囲のみ対象
Set rng = ws.UsedRange

Application.ScreenUpdating = False

For Each c In rng
If Not IsError(c.Value) Then
If VarType(c.Value) = vbString And c.Value <> "" Then

txt = c.Value
newTxt = ""

For i = 1 To Len(txt) Step 10
newTxt = newTxt & Mid(txt, i, 10) & vbLf
Next i

'最後の改行を削除
If Right(newTxt, 1) = vbLf Then
newTxt = Left(newTxt, Len(newTxt) - 1)
End If

c.Value = newTxt
c.WrapText = True

End If
End If
Next c

Application.ScreenUpdating = True

MsgBox "完了しました"

End Sub



■ 仕様
空白セルは無視 数値セルは変更しない
10文字ごとに強制改行
折り返して全体表示を自動ON
アクティブシートの使用範囲のみ処理