📘 Excel逆引き事典

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

日々の業務で大量のデータを扱う場合、特定のシートだけを素早く取り出すことは非常に重要です。しかし、通常は確認メッセージが表示され、作業効率が低下します。この記事では、VBAを使用して指定した名前のシートを抽出し、その上で確認メッセージを出さずに処理を行います。

サンプルコード

VBA
Option Explicit
Sub ExtractSpecificSheet()
    Dim ws As Worksheet, targetWsName As String
    Dim wb As Workbook
    Set wb = ThisWorkbook '現在のワークブックを参照
    Application.ScreenUpdating = False '画面更新停止
    Application.DisplayAlerts = False '確認メッセージ非表示
    
    targetWsName = "抽出したいシート名" '変更してください
    For Each ws In wb.Sheets
        If ws.Name = targetWsName Then
            ws.Copy After:=wb.Sheets(wb.Sheets.Count) '指定のシートをコピー
            Exit Sub '見つかったら終了
        End If
    Next ws
    
    Application.DisplayAlerts = True '確認メッセージ表示再開
    Application.ScreenUpdating = True '画面更新再開
End Sub

よくある質問

Q 元に戻せますか?

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

Q エラーが出たら?

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