次のコードを作成して、入力に基づいていくつかのワークシートを作成し、名前を変更しました。文書を開くときには、「P-1」がテンプレートとして機能する「一般」および「P-1」という2つのワーキングシートがあります。ワークシートの数を作成して名前を変更します
問題は、マクロを開始して番号を入力すると、名前が既に割り当てられているというエラーが表示されることです。
Sub KlickME()
Dim Rng As Range
Dim WorkRng As Range
Dim newName As String
Dim convert As Integer
Dim i As Integer
Dim b As Integer
newName = "P-"
howMany = Application.InputBox("Many", "How Many", "", Type:=2)
convert = CInt(howMany - 1)
For i = 1 To convert
Sheets("P-1").Copy After:=Sheets("P-1")
For b = 1 To Application.Sheets.Count
Application.Sheets(b).name = newName & b
Next b
Next i
End Sub
"一般"ワークシートなしでマクロを実行し、 "P-1"ワークシートのみを実行すると問題なく動作します。
ステップとあなたの方法のエラーを参照してください。追加するシートごとに、すべてのシートをループして、すでに使用されている名前を割り当てます。内側のループを確認し、シートを作成するループの外側に移動します。 – teylyn
なんて愚かな間違い、ありがとう! –