📘 Excel逆引き事典

【VBA】特定の名前のシートをエラー処理付きで非表示にする方法

手作業で複数のシートを非表示にしようとすると時間がかかるだけでなく、ミスが起こりやすいです。この記事では、特定の名前のシートをエラー処理付きで非表示にするVBAマクロを作成し、業務効率化を図ります。

サンプルコード

VBA
Option Explicit
Sub HideSheetByName()
    Dim ws As Worksheet
    On Error GoTo NoSuchSheet
    Set ws = ThisWorkbook.Sheets("特定のシート名")
    If Not ws Is Nothing Then
        Application.ScreenUpdating = False
        ws.Visible = xlSheetHidden
        Application.ScreenUpdating = True
    End If
Exit Sub
NoSuchSheet:
    MsgBox "指定したシート名が見つかりません。", vbExclamation
End Sub

よくある質問

Q 元に戻せますか?

A.
VBAで非表示にしたシートは、他の操作によって再び表示される可能性があります。ただし、特定の状況下では復旧が難しい場合もありますので、必ずバックアップを取ってから実行してください。

Q エラーが出たら?

A.
指定されたシート名が存在しない場合や、他のエラーが発生した場合はメッセージボックスで通知されます。エラーメッセージに従い対処してください。