HOME > 即効テクニック > Excel VBA > シート操作関連のテクニック > アクティブシート以外のすべてのシートを無条件に削除する

アクティブシート以外のすべてのシートを無条件に削除する|Excel VBA

シート操作関連のテクニック

アクティブシート以外のすべてのシートを無条件に削除する

(Excel 97/2000/2002/2003/2007/2010/2013)

Excelは、シートの削除など特定の操作を行うとき、警告や確認のメッセージを表示します。 これを表示させないようにするには、ApplicationオブジェクトのDisplayAleartsプロパティをFalseに設定します。

次のマクロはアクティブシートを除くすべてのシートを、確認メッセージを表示せずに削除します。

Sub Sample()
    Dim mySht As Worksheet
    With Application
        '警告や確認のメッセージを非表示に設定
        .DisplayAlerts = False
        'シート名をチェックして、アクティブシートでなければ削除
        For Each mySht In Worksheets
            If mySht.Name <> ActiveSheet.Name Then mySht.Delete
        Nex
        '設定を元に戻す
        .DisplayAlerts = True
    End With
End Sub