Создал следующий код, чтобы создать несколько листов на основе ввода и переименовать их. При открытии документа будут два таблички с надписью «General» и «P-1», где «P-1» служит в качестве шаблона.Создайте ряд рабочих листов и переименуйте их
Проблема заключается в том, что всякий раз, когда я запускаю макрос и вводим число, я получаю сообщение об ошибке, сообщающее мне, что имя уже назначено.
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
Всякий раз, когда я запускаю макрос без листа «Общие» и только «Р-1» рабочего листа настоящее время она работает без каких-либо проблем.
Шаг через код и увидеть ошибки путей ваших. С каждым добавленным листом вы просматриваете все листы и назначаете им имена, которые уже используются. Проверьте свой внутренний цикл и переместите его за пределы цикла, который создает листы. – teylyn
Какая глупая ошибка, спасибо! –