Excelのシートを一括で削除する手順

EXCEL

今回はエクセルで複数のシートをまとめて削除する方法を説明します。

手動で複数シートを削除する方法

連続するシートを削除する場合:

 (下図の例で、Sheet1からSheet4まで削除)

削除対象の最初のシートタブをクリックして選びます。

[Shift]キーを押しながら、削除したい最後のシートのタブをクリックします。これで連続するシートが選択されます。

選択されたタブ上で右クリックし、メニューから「削除」を選択します

結果:Sheet1からSheet4まで削除されました。

連続しないシートを削除する場合: 

(下図の例で、Sheet5、Sheet7、Sheet9を削除)

削除したいシートのタブを[Ctrl]キーを押しながらクリックして選択します。これで連続しない複数のシートが選択されます。

選択されたタブ上で右クリックし、メニューから「削除」を選択します

結果:Sheet5、Sheet7、Sheet9が削除された。

VBAを使用して複数シートを削除する方法

Excel VBAを使用して複数のシートを削除することができます。次に示すのがサンプルコードです。

Option Explicit

Sub DeleteMultipleSheets()
Dim ws As Worksheet
Application.DisplayAlerts = False ' 警告メッセージを表示しない
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> "Sheet1" Then ' 削除したくないシート名を指定
ws.Delete
End If
Next ws
Application.DisplayAlerts = True
End Sub

このコードでは、”Sheet1″以外のすべてのシートを削除する例を示しています。必要に応じて、削除したくないシート名を変更してください。これらの方法を使用することで、Excelのシートを一括で削除することができます。

VBAを使用して複数のシートを削除する方法には、いくつかのアプローチが示されています。以下に、主な手順と方法を説明します。

特定のシート以外のシートをすべて削除する方法:

Option Explicit

Sub DeleteAllSheetsExcept()
Dim ws As Worksheet
Application.DisplayAlerts = False ' 警告メッセージを表示しない 
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> "保持したいシート名" Then ' 保持したいシート名を指定
ws.Delete
End If
Next ws
Application.DisplayAlerts = True
End Sub

この方法では、”保持したいシート名”以外のすべてのシートが削除されます

複数の特定シートを削除する方法:

Option Explicit

Sub DeleteMultipleSheets()
Application.DisplayAlerts = False
Worksheets(Array("Sheet1", "Sheet2", "Sheet3")).Delete
Application.DisplayAlerts = True
End Sub

この方法では、配列で指定した名前のシートが削除されます

インデックスを使用して複数シートを削除する方法:

Option Explicit

Sub DeleteSheetsByIndex()
Application.DisplayAlerts = False
Worksheets(Array(1, 2, 3)).Delete
Application.DisplayAlerts = True
End Sub

この方法では、ブックの左から1、2、3番目のシートが削除されます

選択状態の複数シートを削除する方法:

Option Explicit

Sub DeleteSelectedSheets()
Application.DisplayAlerts = False
ActiveWindow.SelectedSheets.Delete
Application.DisplayAlerts = True
End Sub

この方法では、現在選択されているすべてのシートが削除されます。注意点:

  • Application.DisplayAlerts = False を使用して、削除時の警告メッセージを非表示にしています
  • ブックには最低1つのシートが必要なため、全てのシートを削除しようとするとエラーが出ます
  • 削除したくないシートがある場合は、条件分岐を利用して排除することができます

これらの方法を使用することで、VBAを使って複数のシートを削除することができます。

定期的に特定のシートを削除する必要がある場合や、他の複雑な操作の一部としてシートを削除する場合、VBAを使うのが有効です。

終わりに

手動操作のメリットは、簡単で直感的であり、一度だけの操作に適しています。操作内容を即座に確認できる点も利点の一つです。

一方、VBA操作のメリットは、繰り返しの操作や大量の処理に適しており、複雑な条件を組み込んだ操作も容易に行えます。