複数のワークシートをまとめて削除したい
単一のワークシートを削除する方法はDeleteメソッドで対応が可能です。
では、まとめて削除するにはどうしたらよいでしょうか。
事前に削除したいワークシートを配列で渡せば削除をしてくれます。
下記3パターンがあります。
複数のワークシートをまとめて削除するサンプルコード
'■複数のシートをまとめて削除するサンプルコード Public Sub sample() Application.DisplayAlerts = False '■①複数シートをまとめて削除(シート名で選択) Worksheets(Array("Sheet1", "Sheet2", "Sheet3")).Delete '■②複数シートをまとめて削除(シート番号で選択) Worksheets(Array(1, 2, 3)).Delete '■③複数シートをまとめて削除(配列で選択) Dim arr As Variant ReDim arr(1 To 3) arr(1) = "Sheet1" arr(2) = "Sheet2" arr(3) = "Sheet3" Worksheets(arr).Delete Application.DisplayAlerts = True End Sub
注意点
- 「このシートは完全に削除されます。続けますか?」ポップアップを表示させないようにするには
Application.DisplayAlerts = Falseとします。 - エクセルの仕様上、すべてのシートを削除できません。
下記のエラーポップアップが表示されます。
————-
ブックのシートをすべて削除または非表示にすることはできません
————-
コメント