📘 Excel逆引き事典

【VBA】非表示シートを高速に置換する方法

手作業で大量のデータを移動したり、置き換えたりするのは時間がかかります。特に非表示にしたシートを別のシートと置き換える場合、エクセルは通常の操作では遅いです。しかし、VBAを使用すれば高速化が可能です。この記事では、非表示のシートを高速に置き換える方法を紹介します。

サンプルコード

VBA
Option Explicit
Sub ReplaceHiddenSheet()
    ' 非表示のシート名と新しいシート名を定義
    Dim hiddenSheetName As String: hiddenSheetName = "HiddenSheet"
    Dim newSheetName As String: newSheetName = "NewSheet"
    
    Application.ScreenUpdating = False ' 画面更新停止
    On Error GoTo ErrorHandler ' エラー処理開始
    
    ' 新しいシートを作成
    Sheets.Add After:=Sheets(Sheets.Count)
    ActiveSheet.Name = newSheetName
    
    ' 非表示のシートを削除
    Sheets(hiddenSheetName).Delete
    
    Application.ScreenUpdating = True ' 画面更新再開
    MsgBox "置換が完了しました。", vbInformation
    Exit Sub
ErrorHandler:
    MsgBox Err.Description, vbExclamation
    Resume Next
End Sub

よくある質問

Q 元に戻せますか?

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

Q エラーが出たら?

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