
Excelでシートが大量にあると、
シート名の変更がとても面倒になります。
例えば👇
-
Sheet1, Sheet2 → 日付付きに変更したい
-
売上_1, 売上_2 → 連番にしたい
-
「2023」→「2024」に一括変更したい
この記事では、シート名を一括変更するマクロをわかりやすく解説します。
方法①:連番でシート名を変更
Sub RenameSheets()
Dim i As Long
For i = 1 To Worksheets.Count
Worksheets(i).Name = "Sheet_" & Format(i, "000")
Next i
End Sub
実行結果
Sheet_001
Sheet_002
Sheet_003
方法②:文字を置換して変更
Sub ReplaceSheetNames()
Dim ws As Worksheet
For Each ws In Worksheets
ws.Name = Replace(ws.Name, "2023", "2024")
Next ws
End Sub
方法③:セルの値を使って変更
Sub RenameFromCells()
Dim i As Long
For i = 1 To Worksheets.Count
Worksheets(i).Name = Cells(i, 1).Value
Next i
End Sub
👉 A列の値で名前変更
注意点(重要)
シート名の重複はNG
同じ名前は使えません。
👉 エラーになります
使えない文字
\/:*?[]
👉 シート名に使えない
まとめ
| 方法 | 内容 |
|---|---|
| 連番 | 自動命名 |
| Replace | 一括変更 |
| セル参照 | 柔軟 |