📘 Excel逆引き事典

【VBA】特定の名前のシートを確認メッセージ無しでコピーする方法

日々の業務では、同じシートを何度もコピーしなければならないことがあります。しかし、そのたびに「確認」メッセージが表示されると煩わしいですよね。この記事では、特定の名前のシートをコピーするマクロを作成し、確認メッセージが出ないように設定することで効率化します。

サンプルコード

VBA
Option Explicit
Sub CopySpecificSheet()
    Dim ws As Worksheet, targetWsName As String
    ' コピーしたいシートの名前を指定
    targetWsName = "コピー元"
    
    Application.DisplayAlerts = False ' 確認メッセージを非表示に
    Set ws = ThisWorkbook.Sheets(targetWsName)
    ws.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) ' 最後尾のシートの直後にコピー
    Application.DisplayAlerts = True ' 元に戻す
End Sub

よくある質問

Q 元に戻せますか?

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

Q エラーが出たら?

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