Используя макросы Excel 2013, я хотел бы иметь возможность после создания рабочего листа (знак «+» или щелчок правой кнопкой мыши, новый рабочий лист) вместо создания нового рабочего листа скопировать скрытый рабочий лист «ШАБЛОН», чтобы использовать его в качестве шаблон для этой книги. Изначально будет создано много рабочих листов, и со временем эта книга будет использоваться каждый день с потенциально открытыми в то же время другими рабочими книгами.
Код, который у меня уже есть, просит пользователя ввести имя рабочего листа при создании и вызывает алфавитно-цифровую сортировку рабочих листов текущей книги и перестроение оглавления. Есть ли способ изменить текущий код, чтобы он соответствовал его новой цели? ПРИМЕЧАНИЕ. Этот код находится в ThisWorkbook.
Private Sub Workbook_NewSheet(ByVal Sh As Object)
Dim sName As String
Dim bValidName As Boolean
Dim i As Long
bValidName = False
Do While bValidName = False
sName = InputBox("Please name this new worksheet:", "New Sheet Name", Sh.Name)
If Len(sName) > 0 Then
For i = 1 To 7
sName = Replace(sName, Mid(":\/?*[]", i, 1), " ")
Next i
sName = Trim(Left(WorksheetFunction.Trim(sName), 31))
If Not Evaluate("ISREF('" & sName & "'!A1)") Then bValidName = True
End If
Loop
Sh.Name = sName
Call Sort_Active_Book
Call Rebuild_TOC
End Sub
Изменить 1: Примечание. Рабочий лист «ШАБЛОН» относится только к этой книге, его не нужно использовать в другой книге, и он является скрытым рабочим листом в этой книге.