【VBA】特定の名前のシートをバックグラウンドで抽出する方法
手作業で特定のシートを抽出するのは時間がかかります。この記事では、VBAを使用して効率的に指定した名前のシートだけを別のブックにバックグラウンドで抽出する方法を紹介します。
サンプルコード
VBA
Option Explicit
Sub ExtractSheetInBackground()
Dim wbSource As Workbook, wbTarget As Workbook
Dim ws As Worksheet
Dim sheetName As String
Dim lastRow As Long
' 指定したシート名を変数に格納
sheetName = "指定シート名"
' ソースブックとターゲットブックの参照取得
Set wbSource = ThisWorkbook
Set wbTarget = Workbooks.Add
' バックグラウンド処理開始
Application.ScreenUpdating = False
' 指定したシートをコピー
For Each ws In wbSource.Sheets
If ws.Name = sheetName Then
ws.Copy Before:=wbTarget.Sheets(1)
Exit For
End If
Next ws
' バックグラウンド処理終了
Application.ScreenUpdating = True
End Subよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
シート名や列番号が正しいか確認してください。