Excelでワークシートを複数コピーして、名前を変更し、セルに値を入れるサンプル(SheetCopyプロシージャ)です。
シート名は、For分のループ変数を使います。
また、SheetDelプロシージャはシートの削除を行ってます。
Public Const sBaseSheet = "Sheet1"
Public Const iMaxSheet = 4
Sub SheetCopy()
'ループ変数
Dim i As Integer
i = 0
Dim rng As Range
'コピー元のシートを選択
Worksheets("Sheet1").Select
'削除時の確認メッセージをOFFに
Application.DisplayAlerts = False
'画面高速化
Application.ScreenUpdating = False
For i = iMaxSheet To 1 Step -1
'シートをコピーする
ThisWorkbook.Sheets(sBaseSheet).Copy after:=Sheets(sBaseSheet)
'シートの名前をヘンコする
ThisWorkbook.Sheets(sBaseSheet & " (2)").Name = CStr(i)
'セルに値セット
Set rng = ThisWorkbook.Sheets(CStr(i)).Range("A1")
rng.Value = i
Next i
'削除時の確認メーッセージをOnに
Application.DisplayAlerts = True
'画面高速化
Application.ScreenUpdating = True
End Sub
Sub SheetDel()
Dim i As Integer
i = 0
Dim rng As Range
'削除時の確認メッセージをOFFに
Application.DisplayAlerts = False
'画面高速化
Application.ScreenUpdating = False
For i = iMaxSheet To 1 Step -1
'シート削除
ThisWorkbook.Sheets(CStr(i)).Delete
Next i
'削除時の確認メーッセージをOnに
Application.DisplayAlerts = True
'画面高速化
Application.ScreenUpdating = True
End Sub
参考:
ワークシートの追加 - ワークシートの追加 - Excel VBA入門