📘 Excel逆引き事典

【VBA】非表示シートを安全に取得する方法

手作業で非表示のシートを探したり削除したりするのは大変です。この記事では、VBAを使って非表示のシートを安全に取得し、エラーが発生した場合でも対処できる方法を紹介します。

サンプルコード

VBA
Option Explicit
Sub GetHiddenSheet()
    Dim ws As Worksheet
    On Error GoTo ErrorHandler
    Set ws = ThisWorkbook.Sheets("シート名")
    If ws Is Nothing Then
        MsgBox "指定されたシートが見つかりません。", vbExclamation
        Exit Sub
    End If
    ' ここに非表示のシートを取得する処理を追加します。
    If ws.Visible = xlSheetHidden Or ws.Visible = xlSheetVeryHidden Then
        MsgBox "指定されたシートは非表示です。", vbInformation
    Else
        MsgBox "指定されたシートは表示されています。", vbInformation
    End If
Exit Sub
ErrorHandler:
    MsgBox Err.Description, vbCritical
End Sub

よくある質問

Q 元に戻せますか?

A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。

Q エラーが出たら?

A.
シート名や列番号が正しいか確認してください。