【VBA】特定の名前のシートをエラー処理付きで抽出する方法
手作業で特定のシートだけを選別するのは時間がかかる上にミスが起こりやすいです。この記事では、VBAを使って特定の名前のシートをエラー処理付きで簡単に抽出する方法を紹介します。
サンプルコード
VBA
Option Explicit
Sub ExtractSheet()
Dim ws As Worksheet, targetWsName As String
Dim newWb As Workbook
Set newWb = Workbooks.Add '新しいワークブックを作成
Application.ScreenUpdating = False '画面更新を停止して高速化
On Error GoTo ErrorHandler 'エラー処理の開始
targetWsName = "抽出対象シート名" 'ここに抽出したいシート名を入れる
For Each ws In ThisWorkbook.Worksheets
If ws.Name = targetWsName Then
ws.Copy After:=newWb.Sheets(newWb.Sheets.Count) '該当するシートを新しいワークブックにコピー
End If
Next ws
Application.ScreenUpdating = True '画面更新を再開
Exit Sub
ErrorHandler:
MsgBox "エラーが発生しました: " & Err.Description, vbExclamation 'エラーメッセージを表示
Application.ScreenUpdating = True '画面更新を再開
End Subよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
シート名や列番号が正しいか確認してください。