📘 Excel逆引き事典

【VBA】非表示シートをバックグラウンドで抽出する方法

手作業で非表示のシートを一覧化するのは時間がかかる上にミスが起こりやすい。この記事では、VBAを使って簡単に非表示シートをバックグラウンドで抽出し、業務効率を大幅に向上させる方法をお伝えします。

サンプルコード

VBA
Option Explicit
Sub ExtractHiddenSheets()
    Dim wb As Workbook, ws As Worksheet, newWb As Workbook
    Dim lastRow As Long, i As Integer
    
    ' 新しいワークブックを作成
    Set newWb = Workbooks.Add
    Application.ScreenUpdating = False
    For Each ws In ThisWorkbook.Sheets
        If ws.Visible = xlSheetHidden Then
            ws.Copy After:=newWb.Sheets(newWb.Sheets.Count)
        End If
    Next ws
    
    ' 画面更新を再開
    Application.ScreenUpdating = True
End Sub

よくある質問

Q 元に戻せますか?

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

Q エラーが出たら?

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