📘 Excel逆引き事典

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

日々の業務では、非表示のワークシートをコピーしたい場面がよくあります。しかし、非表示のシートは通常の操作ではコピーできません。この記事では、エラー処理付きで安全に非表示シートをコピーするVBAコードを紹介します。

サンプルコード

VBA
Option Explicit
Sub CopyHiddenSheet()
    Dim ws As Worksheet, targetWs As Worksheet
    On Error GoTo ErrHandler
    Set ws = ThisWorkbook.Sheets("HiddenSheet")
    If Not ws Is Nothing Then
        Application.ScreenUpdating = False
        Application.DisplayAlerts = False
        ws.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
        Set targetWs = ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
        targetWs.Name = "CopiedHiddenSheet"
        Application.DisplayAlerts = True
        Application.ScreenUpdating = True
    End If
Exit Sub
ErrHandler:
    MsgBox "エラーが発生しました。シート名や列番号を確認してください。", vbExclamation
End Sub

よくある質問

Q 元に戻せますか?

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

Q エラーが出たら?

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