Sub TEST3()
Dim Flag
Flag = 0 '初期値'「D」の存在をチェック
For i = 1 To Sheets.Count
If Sheets(i).Name = "D" Then
Flag = 1 '「D」がある場合
End If
Next
'「D」がない場合、「D」のシートを追加
If Flag = 0 Then
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "D"
End If
End Sub
シートの存在をチェックして、シートを追加してみます。
シートの存在をチェックして、シートを追加
では、実行してみます。
「D」のシートがない場合は、「D」のシートを追加します。
「D」のシートをがない場合は、追加
「D」のシートが既にある場合は、そのままにします。
「D」のシートがある場合は、そのまま
という感じで、「D」のシートの存在をチェックすることで、エラーを回避して、シートの追加ができます。
シートをコピーする場合
シートの存在をチェックして、「D」のシートをコピーしてみます。
Sub TEST4()
Dim Flag
Flag = 0 '初期値'「D」の存在をチェック
For i = 1 To Sheets.Count
If Sheets(i).Name = "D" Then
Flag = 1 '「D」がある場合
End If
Next
'「D」がない場合、コピーして「D」のシートを作成
If Flag = 0 Then
Sheets("A").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = "D"
End If
End Sub