【VBA】特定の名前のシートをエラー処理付きで別ブックとして保存する方法
手作業で特定のシートだけを新しいブックに移動するのは時間がかかります。この記事では、VBAを使って簡単にそれを解決し、エラー処理も加えて信頼性を高めましょう。
サンプルコード
VBA
Option Explicit
Sub SaveSheetAsNewWorkbook()
Dim wb As Workbook, ws As Worksheet, newWb As Workbook
On Error GoTo ErrorHandler
Set ws = ThisWorkbook.Sheets("特定のシート名")
If ws Is Nothing Then
MsgBox "指定されたシートが見つかりません。", vbExclamation
Exit Sub
End If
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set newWb = Workbooks.Add(xlWBATWorksheet)
ws.Copy Before:=newWb.Sheets(1)
newWb.SaveAs ThisWorkbook.Path & "\特定のシート名.xlsx"
MsgBox "新しいブックが作成されました。", vbInformation
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Exit Sub
ErrorHandler:
MsgBox Err.Description, vbCritical
End Subよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
シート名や列番号が正しいか確認してください。