📘 Excel逆引き事典

【VBA】非表示シートを確認メッセージ無しで抽出する方法

手作業で非表示のシートを抽出するのは時間がかかります。この記事では、VBAを使用して効率的に非表示のシートを抽出し、業務を迅速化する方法を紹介します。

サンプルコード

VBA
Option Explicit
Sub ExtractHiddenSheets()
    Dim ws As Worksheet
    Dim newWs As Worksheet
    Application.DisplayAlerts = False '確認メッセージを出さない設定
    For Each ws In ThisWorkbook.Sheets
        If ws.Visible = xlSheetHidden Then '非表示のシートの場合
            Set newWs = ThisWorkbook.Worksheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
            ws.Copy After:=newWs
            newWs.Name = ws.Name '元のシート名をコピーしたシートに設定
        End If
    Next ws
    Application.DisplayAlerts = True '確認メッセージを再有効化
End Sub

よくある質問

Q 元に戻せますか?

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

Q エラーが出たら?

A.
シート名や列番号が正しいか確認してください。また、ワークブックに他のVBAコードと衝突していないかも確認してください。