ExcelVBA: シートを一括して削除する

LONERさん
LONERさん

シートを一括して削除するExcelVBAです。
Dim i As Integer
Application.DisplayAlerts = False
For i = Sheets.Count To 2 Step -1
WorkSheets(i).Delete
Next
Application.DisplayAlerts = True
これで、一番はじめのシートを残してすべてのシートが削除されます。DisplayAlerts のところをコメントアウトすると、警告が表示されるようになります。Worksheets の名前(Worksheets(i).Name)を判別して削除するかしないかを制御することもできますし、For Each ws In ActiveWorkbook.Worksheets を使うこともできます。Step -1 としているのは、Step 1 にすると i が増加、Sheets.Count が減少してすべてのシートを消せないからです。

ExcelVBA について調べる。
LONERさんのブログ一覧