アクティブシートが追加されたシートになるからでは。
Sub aa()
Dim i
Sheets("MasterSheet").Activate
For i = 1 To 10
Sheets("MasterSheet").Select
Sheets("MasterSheet").Copy Before:=Sheets("MasterSheet")
ActiveSheet.Name = "MST_" & i
Sheets("MasterSheet").Activate
Next i
End Sub
これで動きました。
こんにちは。
2回目のエラーはシート名が同じだからでは?
Sub aa()
Dim ws As Worksheet, cws As Worksheet, j As Integer
j = 1
Set ws = Sheets("MasterSheet")
For i = 1 To 100
ws.Copy before:=ws
Set cws = ActiveSheet
Do While cws.Name = "MasterSheet (2)"
On Error GoTo ER:
cws.Name = "MST_" & j
Loop
cws.Visible = True
Next i
Exit Sub
ER:
j = j + 1
Resume Next
End Sub
蛇足ですが、シートが数百枚もあるブックは使いずらいし、不安定要素の原因にもなります。仕様を検討されては?
お礼
Activateが正解みたいです ありがとうございました。