【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.
シート名や列番号が正しいか確認してください。