Option Explicit Sub CreateSheets() Dim wsSumm As Worksheet, wsTmp As Worksheet Dim shtNames As Range, N As Range With ThisWorkbook Set wsTmp = .Sheets("Template") Set wsSumm = .Sheets("Summary") Set shtNames = wsSumm.Range("B2:B" & Rows.Count).SpecialCells(xlConstants) Application.ScreenUpdating = False For Each N In shtNames If Not Evaluate("ISREF('" & CStr(N.Text) & "'!A1)") Then wsTmp.Copy After:=.Sheets(.Sheets.Count) ActiveSheet.Name = CStr(N.Text) ActiveSheet.Range("A1").Value = N.Offset(, -1).Value End If Next N wsSumm.Select End With Application.ScreenUpdating = True End Sub
DON'T MISS