Sub Sample2()
Dim buf As String, c, ws
buf = Range("A1")
''(1)空欄かどうか
If buf = "" Then Exit Sub
''(2)不正な文字があるか
For Each c In Array(":", "\", "/", "?", "*", "[", "]")
If InStr(buf, c) > 0 Then Exit Sub
Next c
''(3)文字数が31文字以内か
If Len(buf) > 31 Then Exit Sub
''(4)同じ名前が存在するか
For Each ws In Worksheets
If ws.Name = buf Then Exit Sub
Next ws
''すべてクリアした
Worksheets.Add.Name = buf
End Sub
Sub Sample3()
On Error GoTo Err1
Worksheets.Add.Name = Range("A1")
Exit Sub
Err1:
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
End Sub