この記事では、マクロを使ってシートを削除する方法について解説します。
Worksheetクラスのオブジェクト.Delete
目次
アクティブなシートを削除する
下記コードでアクティブなシート(現在表示中のシート)を削除することができます。
Sub シート削除()
ActiveSheet.Delete
End Subサンプルコードを実行すると添付のような警告メッセージが表示されます。

メッセージを出さずに削除する
先ほど紹介したコードでは、せっかく自動化しようとマクロでシートを削除するのに止まってしまうため、手動操作が必要になります。
警告メッセージを出さずにシートを削除するコードは以下の通りです。
Sub シート削除()
Application.DisplayAlerts = False
ActiveSheet.Delete
End Sub
壱警告メッセージを再度表示させる場合は、
「Application.DisplayAlerts = True」
を最後に追加してください。
シートを指定して削除する
シート名を指定してシートを削除するコードは以下の通りです。
Sheets(“シート名”).Delete
具体的なコードは以下の通りです。
Sub シート削除()
Application.DisplayAlerts = False
Sheets("Sheet1").Delete
End SubSheet1の部分を変更すれば、対象のシートを削除することができます。
シート名が変数の場合
シート名が変わる場合そのままでは利用できません。以下のコードのように変更することで、変数でもシートを削除することができます。
Sub シート削除()
Dim SheetName As String
Dim i As Long
Application.DisplayAlerts = False
For i = 1 To 3
SheetName = "Sheet" & i
Sheets(SheetName).Delete
Next
End Sub上記コードを実行すると、Sheet1、Sheet2、Sheet3という名前のシートを削除することができます。
複数のシートをまとめて削除する
複数のシートをまとめて削除する場合、Array関数を使って複数のシートを指定して削除することができます。
Sub シート削除()
Application.DisplayAlerts = False
Sheets(Array("Sheet1", "Sheet2")).Delete
End Sub
コメント