新シートを追加する位置

'アクティブシートの一つ前にシートを追加
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

マクロは上から順番に処理していきます

①あった場合は削除

②新シート追加

③名前を変える

と言う順番がベスト

見本マクロのダウンロードはこちら

Follow me!