Try:
Option Explicit

Sub SheetCreateDated()
Dim newsht As Worksheet, ws As Worksheet
Dim ivalue As String

ivalue = Sheets("Date Range").Range("A1").Value
For Each ws In Worksheets
    If ws.Name = ivalue Then
        MsgBox ("There is already a sheet with the name " & "*" & ivalue & "*")
        Exit Sub
    End If
Next ws

Set newsht = Worksheets.Add
With newsht
    .Move After:=Sheets(Sheets.Count)
    .Name = ivalue
End With

Sheets("Template").UsedRange.Copy Destination:=newsht.Range("A1")
newsht.Range("A3").Value = ivalue

End Sub