This will do
Sub VBAX_SAMT_MakeReportSheets()
'Makes new Sheets and names them by names in "A:A"
'For help see: http://www.vbaexpress.com/forum/showthread.php?54121
Dim Cel As Range
Dim Sht As Worksheet
For Each Cel In Sheets("Sheet3").Range("A1").CurrentRegion
Worksheets.Add
With ActiveSheet
.Range("A1") = Format(Date, "mmm dd, yyyy") & " " & Cel
.Name = Cel.Value
End With
Next Cel
End Sub
If you need to reference the Sheet Name in your formulas, you can use this
Sub VBAX_SAMT_MakeReportSheets()
'Makes new Sheets and names them by names in "A:A"
'For help see: http://www.vbaexpress.com/forum/showthread.php?54121
Dim Cel As Range
Dim Sht As Worksheet
For Each Cel In Sheets("Sheet3").Range("A1").CurrentRegion
Worksheets.Add
With ActiveSheet
.Range("A1") = Format(Date, "mmm dd, yyyy") & " " & Cel
.Name = Cel.Value
.Names.Add Name:=Cel.Text & "!ShtLoc", RefersTo:=Cel.Text & "!"
End With
Next Cel
End Sub
And use formulas like
=VLOOKUP(ShtLoc,MasterList!A1:B2,2)
Where "ShtLoc" will always return the name of the WorkSheet the Formula is in. (Only in sheets created by this code.)