
今回紹介するマクロは、マクロ講座 48回の応用となります。
Excel 2013 マクロ講座 57回
売上表などは、原本(テンプレート)シートをコピーして使いまわすことが多いですが、
コピーしたシートに”令和5年1月”などのようにシート名をつけると手間が省けます。
コピーしたシートにシート名をつける方法
(サンプルファイルは、こちらから マクロ57回サンプルデータ)

Sub 枚数指定コピー()
Dim i As Integer
Dim cnt As Integer
cnt = Application.InputBox(Prompt:="枚数を入力", Title:="枚数指定", Type:=1)
For i = 1 To cnt
Worksheets("テンプレート").Copy After:=Worksheets(i)
ActiveSheet.Name = i
Next i
End Sub
このコードのActiveSheet.Name = iをシート名の書式で入れるように書き換えます。'ActiveSheet.Name = i ' ↓このように変更 ActiveSheet.Name = "令和5年" & Worksheets.Count - 1 & "月"
Sub 枚数コピーして名前もつける()
Dim i As Integer
Dim cnt As Integer
cnt = Application.InputBox(Prompt:="枚数を入力", Title:="枚数指定", Type:=1)
For i = 1 To cnt
Worksheets("テンプレート").Copy before:=Worksheets("テンプレート")
ActiveSheet.Name = "令和5年" & Worksheets.Count - 1 & "月"
Next i
End Sub
Worksheets.Count 使わずに変数i を使ってもOK です。
ActiveSheet.Name = "令和5年" & i & "月"


Sub 枚数コピーして名前もつける()
Dim i As Integer
Dim cnt As Integer
cnt = Application.InputBox(Prompt:="枚数を入力", Title:="枚数指定", Type:=1)
For i = 1 To cnt
Worksheets("テンプレート").Copy before:=Worksheets("テンプレート")
ActiveSheet.Name = "令和5年" & Worksheets.Count - 1 & "月"
Range("F2").Value = Worksheets.Count - 1
Next i
End Sub
