新シートを追加する位置
'アクティブシートの一つ前にシートを追加
Worksheets.Add
'シートを先頭に追加
Worksheets.Add Before:=Sheets(1)
'Sheet1シートの前に追加
Worksheets.Add Before:=Worksheets("Sheet1")
'Sheet1シートの後に追加
Worksheets.Add After:=Worksheets("Sheet1")
'3番目に追加(2番目の後ろ)
Worksheets.Add After:=Sheets(2)
'最後尾に追加
Worksheets.Add After:=Sheets(Worksheets.Count)
シートに名前を付ける
'アクティブシートに名前を付ける
ActiveSheet.Name = "新シート"
'追加したシートに名前を付ける
Dim ws As WorkSheet
Set ws = Worksheets.Add
ws.Name = "新シート"
'アクティブシートの名前をSheet1 の D7セルに記載した名前のシート名にする
ActiveSheet.Name = Sheets("Sheet1").Range("D7")
同じ名前のシートがあった場合削除する
Dim ws As Worksheet
Dim flag As Boolean
For Each ws In Worksheets
If ws.Name = Sheets("Sheet1").Range("D7") Then
ws.Delete
End If
Next ws
マクロは上から順番に処理していきます
①あった場合は削除
②新シート追加
③名前を変える
と言う順番がベスト