【VBA】非表示シートを全て一括で再表示するマクロ

目次

はじめに

多数のシートが含まれるExcelブックで、複数のシートが非表示になっていることはありませんか?

一枚ずつ右クリックして「再表示」を選ぶ作業は、シートの数が増えるほど大変な手間になります。特に、何十枚ものシートを一度に表示させたい場合、途方に暮れてしまうかもしれません。

そんな面倒な作業は、VBAマクロで一瞬で解決できます。この記事では、ブックに隠されている全てのシートを一括で再表示する、短くて非常に便利なコードをご紹介します。


全シートを再表示するVBAサンプルコード

このマクロのロジックは非常にシンプルです。 「ブックに存在する全てのシートを一つずつ順番に見ていき、表示状態(Visible)を『表示する(True)』に設定する」という処理を行います。

完成コード

' ブック内の全ての非表示シートを再表示する
Sub UnhideAllWorksheets()

    '== 変数を定義します ==
    Dim targetSheet As Worksheet

    '== ブック内の全シートをループ処理します ==
    For Each targetSheet In ThisWorkbook.Worksheets
        ' シートの表示状態を「表示(True)」に設定
        targetSheet.Visible = True
    Next targetSheet
    
    MsgBox "全てのシートを再表示しました。", vbInformation

End Sub

【使い方】

  1. VBE(Alt + F11)を開き、標準モジュールに上記のコードを貼り付けます。
  2. UnhideAllWorksheets マクロを実行します。
  3. これだけで、今まで隠れていた全てのシートが表示されるようになります。

コードの解説

Dim targetSheet As Worksheet

Worksheet 型の変数を宣言しています。この変数 targetSheet には、ループ処理の中で各シートが一つずつ格納されていきます。

For Each targetSheet In ThisWorkbook.Worksheets

このコードの心臓部です。For Each ... Next 構文を使い、「ThisWorkbook.Worksheets(このブックの全てのシート)」コレクションから、シートを一つずつ targetSheet 変数に取り出してループ処理を実行します。

targetSheet.Visible = True

シートの表示状態を制御する Visible プロパティを True(表示する)に設定しています。この一行により、非表示だったシートが表示状態に切り替わります。既に表示されているシートに対して実行しても、表示されたままなので問題ありません。


まとめ

今回は、非表示になっている全てのシートを一括で再表示するという、シンプルながらも実用的なマクロをご紹介しました。

たった数行のコードで、面倒な繰り返し作業から解放されます。このマクロを個人用マクロブックに保存しておけば、どんなExcelファイルでもすぐに呼び出して使えるようになり、あなたの作業効率をさらに高めてくれるはずです。

ぜひ、この便利なコードをあなたのVBAツールボックスに加えてみてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次