ExcelVBAで任意の名前のシートがなければ作成する

'任意のワークシート名を指定
Dim trgtShName As String
trgtShName = "新規追加"

'シートが開いているかどうかのフラグを定義する
Dim flg As Boolean
'ワークシートオブジェクトを定義する
Dim ws As Worksheet
'マクロ実行ブックの全シートにループ処理を実行する
For Each ws In ThisWorkbook.Worksheets
    'シートの名前が目的のブック名と一致した場合、処理を実行
    If ws.Name = trgtShName Then
        'フラグをTrueにしてループを抜ける
        flg = True
        Exit For
    End If
Next

'フラグがFalseだった場合、シートを作成する
If flg = False Then
    Worksheets.Add
    'シート名を変更(追加されたシートはアクティブとなる)
    ActiveSheet.Name = trgtShName
End If