以下の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年する方法です。試してみてください。