【VBA】非表示シートをバックグラウンドでコピーする方法
手作業で非表示のワークシートを複製するのは面倒です。この記事では、VBAを使用して非表示シートをバックグラウンドで素早くコピーする方法を紹介します。
サンプルコード
VBA
Option Explicit
Sub CopyHiddenSheet()
Dim ws As Worksheet, newWs As Worksheet
Application.ScreenUpdating = False '画面更新の停止
Set ws = ThisWorkbook.Sheets("シート1") 'コピー元の非表示シート名を指定
If Not ws Is Nothing Then '存在確認
ws.Visible = xlSheetVisible '一時的に可視化
Set newWs = Sheets.Add(Before:=ws) '新しいシートを作成
newWs.Name = "コピーされたシート1" '新規シート名を設定
newWs.Move Before:=ws '新規シートを元のシートの前に移動
ws.Visible = xlSheetHidden '再度非表示化
End If
Application.ScreenUpdating = True '画面更新の再開
End Subよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
シート名や列番号が正しいか確認してください。