Джефф хотел бы создать копию своего «основного» рабочего листа, запросить имя нового рабочего листа и переместить его в конец вкладок рабочего листа, и все это из макроса. Он попытался записать макрос для этого, но это не сработало.

То, что записанный макрос не сработал, не вызывает особого удивления.

Когда вы записываете макрос, вы говорите Excel, чтобы он записал ваши шаги.

Эти шаги (в данном случае) включали в себя присвоение имени рабочему листу, поэтому это имя было записано в макрос. Попробуйте запустить макрос во второй раз, и вы получите сообщение об ошибке, потому что рабочий лист, который вы пытаетесь создать на втором проходе, уже был создан на первом.

В этом случае вам придется написать макрос вручную. Вы можете начать с записи процесса, и вы получите следующий код:

Sub Macro1()

Sheets("Master").Select     Sheets("Master").Copy After:=Sheets(3)

Sheets("Master (2)").Select     Sheets("Master (2)").Name = "NewMaster"

End Sub

Обратите внимание, что код помещает рабочий лист (после третьего листа), а затем всегда называет его одинаково. Здесь есть что изменить. Что вы хотите сделать, так это изменить его на что-то вроде следующего:

Sub CopyRename()

Dim sName As String     Dim wks As Worksheet     Worksheets("Master").Copy after:=Sheets(Worksheets.Count)

Set wks = ActiveSheet     Do While sName <> wks.Name         sName = Application.InputBox _           (Prompt:="Enter new worksheet name")

On Error Resume Next         wks.Name = sName         On Error GoTo 0     Loop     Set wks = Nothing End Sub

Этот макрос скопирует рабочий лист с именем «Мастер» в конец списка листов (независимо от того, сколько листов у вас в книге) и продолжит запрашивать новое имя рабочего листа, пока не будет введено допустимое имя.

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (11929) применим к Microsoft Excel 2007, 2010, 2013 и 2016.

Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:

link: / excel-Creating_and_Naming_a_Worksheet_Using_a_Macro [Создание и присвоение имени рабочему листу с помощью макроса].