【VBA】非表示シートをバックグラウンドで置換する方法
手作業での大量データ処理は労力がかかりますが、VBAを使えば非表示のシートを簡単にバックグラウンドで置き換えることができます。この記事では、高速化と画面更新停止機能も備えたマクロを作成します。
サンプルコード
VBA
Option Explicit
Sub ReplaceHiddenSheet()
Dim ws As Worksheet, newWs As Worksheet
Dim sheetName As String
' 非表示のシート名を指定
sheetName = "HiddenSheet"
' バックグラウンド処理開始
Application.ScreenUpdating = False
' シートが存在するか確認
On Error Resume Next
Set ws = ThisWorkbook.Sheets(sheetName)
If ws Is Nothing Then Exit Sub
On Error GoTo 0
' 新しいシートを作成
Set newWs = ThisWorkbook.Worksheets.Add
newWs.Name = sheetName
' 非表示のシートを削除
Application.DisplayAlerts = False
ws.Delete
Application.DisplayAlerts = True
' バックグラウンド処理終了
Application.ScreenUpdating = True
End Subよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
シート名や列番号が正しいか確認してください。