Option Explicit
Sub CreateNew()
Dim wsRecipes As Worksheet, wsTEMP As Worksheet, wasVISIBLE As Boolean
Dim shNAMES As Range, Nm As Range
Dim i As Long
Dim wsIndex
On Error Resume Next
With ThisWorkbook 'keep focus in this workbook
Application.CopyObjectsWithCells = False
Set wsTEMP = .Sheets("Template") 'sheet to be copied
wasVISIBLE = (wsTEMP.Visible = xlSheetVisible) 'check if it's hidden or not
If Not wasVISIBLE Then wsTEMP.Visible = xlSheetVisible 'make it visible
Application.ScreenUpdating = False 'speed up macro
wsTEMP.Copy After:=.Sheets(.Sheets.Count) '...create it from template
wsIndex.Activate 'return to the master sheet
If Not wasVISIBLE Then wsTEMP.Visible = xlSheetHidden 'hide the template if necessary
Application.ScreenUpdating = True 'update screen one time at the end
Application.CopyObjectsWithCells = True
End With
Sheets(Sheets.Count).Select
Dim tabname As String
tabname = Sheets("Template").Range("A2").Value
ActiveSheet.Name = tabname
ActiveSheet.Range("A1:A2").Value = ""
Sheets("Template").Range("A2").Value = ""
MsgBox "New sheet created. "
End Sub