📘 Excel逆引き事典

【VBA】非表示シートを部分一致で配列に格納する方法

手作業で大量の非表示シートの中から特定の文字列を持つシート名を抽出するのは大変です。この記事では、部分一致で非表示シート名を配列に格納するVBAマクロを作成し、業務効率化をお手伝いします。

サンプルコード

VBA
Option Explicit
Sub ExtractHiddenSheets()
    Dim ws As Worksheet, hiddenSheets() As String, i As Long, j As Long
    ReDim hiddenSheets(1 To ThisWorkbook.Sheets.Count)
    i = 1
    For Each ws In ThisWorkbook.Worksheets
        If ws.Visible = xlSheetHidden Then
            If InStr(ws.Name, "部分一致文字列") > 0 Then
                hiddenSheets(i) = ws.Name
                i = i + 1
            End If
        End If
    Next ws
    ReDim Preserve hiddenSheets(1 To i - 1)
End Sub

よくある質問

Q 元に戻せますか?

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

Q エラーが出たら?

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