複数のワークシートをまとめて削除したい
単一のワークシートを削除する方法は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とします。 - エクセルの仕様上、すべてのシートを削除できません。
下記のエラーポップアップが表示されます。
————-
ブックのシートをすべて削除または非表示にすることはできません
————-




コメント