📘 Excel逆引き事典

【VBA】特定の名前のシートをエラー処理付きで置換する方法

手作業でシートを置換するのは時間がかかるだけでなく、ミスも起こりやすいです。この記事では、特定の名前のシートをエラー処理付きで安全に置換する方法を紹介します。

サンプルコード

VBA
Option Explicit
Sub ReplaceSheet()
    Dim ws As Worksheet, newWs As Worksheet
    Dim sheetName As String
    
    ' 置き換えたいシート名を指定
    sheetName = "置換したいシートの名前"
    
    On Error GoTo ErrorHandler
    Set ws = ThisWorkbook.Sheets(sheetName)
    Application.DisplayAlerts = False
    ws.Copy After:=ws
    Application.DisplayAlerts = True
    Set newWs = ActiveSheet
    ws.Delete
    newWs.Name = sheetName
Exit Sub
ErrorHandler:
    MsgBox "シート名が間違っているか、シートが存在しません。", vbExclamation
End Sub

よくある質問

Q 元に戻せますか?

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

Q エラーが出たら?

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