Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, [C2]) Is Nothing Or [C2] = "" Then Exit Sub
If IsError(Sheets(CStr([C2]))) Then
Application.ScreenUpdating = False
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = [C2]
Application.Goto [C2]
End If
End Sub