【エクセルマクロ】非表示シートを削除:成果を出す時短術

ExcelVBA-非表示シート削除-アイキャッチ エクセルマクロで効率化する

エクセルマクロで、非表示シートのみ削除するVBAコードをご紹介します。

このページのマクロコードは、コピペで使えます。
ぜひ、お試しください!

非表示シートを削除

以下のマクロを実行すると、非表示シートのみブックから削除します。


Sub 非表示シートを削除する()

Dim WS As Worksheet
Dim TargetCheck As String

    For Each WS In Worksheets

        If WS.Visible = False Then
            TargetCheck = TargetCheck & WS.Name & vbCrLf
            
            Application.DisplayAlerts = False
                WS.Delete
            Application.DisplayAlerts = True

        End If
    Next WS

    If TargetCheck = "" Then
        MsgBox "非表示シートはありません。処理を終了します。"
    Else
        MsgBox "以下の非表示シートを削除しました。" & vbCrLf & vbCrLf & TargetCheck
    End If
    
    'この後、必要であればファイル保存等の処理を追加

End Sub

 

マクロ実行前

ファイル内に、3つのシートが存在している状態で、

1つのシートが非表示になっています。


 

マクロ実行後

ファイル内にある全シートの表示・非表示の状態を判定します。

非表示シートがある場合、該当シートを削除してメッセージボックスにシート名を表示します。


 

非表示シートを削除(条件追加)

以下のマクロを実行すると、非表示シートの中から特定シート以外を削除します。


Sub 非表示ワークシートを削除する()

Dim WS As Worksheet
Dim TargetCheck As String
Dim List As Variant
Dim i As Long
Dim Chk As Boolean

    '削除しないシート
    List = Array("まとめ2", "まとめ4")

    For Each WS In Worksheets
    
        Chk = False

        If WS.Visible = False Then
        
            For i = 0 To UBound(List)
                If WS.Name = List(i) Then
                    Chk = True
                    Exit For
                End If
            Next i
            
            If Chk = False Then
                TargetCheck = TargetCheck & WS.Name & vbCrLf
                
                Application.DisplayAlerts = False
                    WS.Delete
                Application.DisplayAlerts = True
            End If

        End If
    Next WS

    If TargetCheck = "" Then
        MsgBox "非表示シートはありません。処理を終了します。"
    Else
        MsgBox "以下の非表示シートを削除しました。" & vbCrLf & vbCrLf & TargetCheck
    End If
    
    'この後、必要であればファイル保存等の処理を追加

End Sub

 

マクロ実行前

ファイル内に、6つのシートが存在している状態で、

3つのシートを非表示にしています。


 

マクロ実行後

[List = Array(“まとめ2”, “まとめ4”)] で指定したシートは、非表示であっても削除しません。

削除したシート名をメッセージボックスに表示します。


 
この記事がお役に立ちますと幸いです。
 

【エクセルマクロ】ワークシート処理を自動化する:超便利29選
...

 

「Excel自動化[最強]時短仕事術」
自動化の基礎と時短に役立つテクニック解説書
毎日の定型業務を手際良く行え、大幅な業務効率化を実現!