📘 Excel逆引き事典

【VBA】開いている全ブックをエラー処理付きで非表示にする方法

手作業で開いている全ブックを一つずつ非表示にするのは時間がかかります。この記事では、VBAを使用して開いているすべてのブックを一括で非表示にし、エラー処理も含めた効率的な方法を紹介します。

サンプルコード

VBA
Option Explicit
Sub HideAllBooks()
    Dim wb As Workbook
    Application.ScreenUpdating = False '画面更新を停止する
    On Error GoTo ErrorHandler 'エラーハンドリング開始
    For Each wb In Workbooks
        If Not wb.Name Like "Book1" Then '開いているブックの名前が"Book1"でない場合
            wb.Visible = xlSheetHidden '非表示にする
        End If
    Next wb
    Application.ScreenUpdating = True '画面更新を再開する
    Exit Sub 'エラー無しの場合、終了
ErrorHandler:
    MsgBox "エラーが発生しました: " & Err.Description, vbExclamation + vbOKOnly, "エラーハンドリング"
End Sub

よくある質問

Q 元に戻せますか?

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

Q エラーが出たら?

A.
特定のブック名や条件式が正しいか確認してください。また、エラーハンドリングメッセージボックスで詳細な情報を得られます。