VBAを使用して、全てのExcelシートの名前にある年数を一括で+1年する方法を教えてください。

以下のVBAコードを使用すると、全てのExcelシートの名前に含まれる年数を一括で+1年することができます。

“`vba
Sub UpdateSheetNames()
Dim ws As Worksheet
Dim newName As String
Dim oldYear As Integer
Dim newYear As Integer

‘ループして全てのシートにアクセス
For Each ws In ThisWorkbook.Worksheets
‘シート名から年数を取得
oldYear = Val(Right(ws.Name, 4))

‘年数を+1する
newYear = oldYear + 1

‘新しいシート名を作成
newName = Left(ws.Name, Len(ws.Name) – 4) & newYear

‘シート名を変更
ws.Name = newName
Next ws
End Sub
“`

上記のコードを実行するには、以下の手順に従ってください。

1. Excelファイルを開いてください。
2. `Alt + F11` キーを押して、VBAエディタが起動します。
3. 左ペインのプロジェクトエクスプローラーで、対象のExcelファイルを右クリックし、`挿入` → `モジュール` を選択して新しいモジュールを挿入してください。
4. モジュールウィンドウに上記のVBAコードを貼り付けてください。
5. `F5` キーを押すか、エディタウィンドウの再生ボタンをクリックしてコードを実行してください。

このコードは、各シートの名前から年数を抽出し、+1年して新しいシート名として設定します。ただし、シート名の末尾が4桁の数字(年数)であることを前提としています。もし4桁の数字以外の形式の年数が含まれている場合は、コードを適宜変更する必要があります。

また、このコードは現在のワークブックに対して動作します。他のワークブックに適用する場合は、コードを修正する必要があります。必要に応じて、目的のワークブックを明示的に指定してください。

以上が、VBAを使用して全てのExcelシートの名前に含まれる年数を一括で+1年する方法です。試してみてください。

コメントを残す