はじめに
多数のシートが含まれる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
【使い方】
- VBE(
Alt + F11
)を開き、標準モジュールに上記のコードを貼り付けます。 UnhideAllWorksheets
マクロを実行します。- これだけで、今まで隠れていた全てのシートが表示されるようになります。
コードの解説
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ツールボックスに加えてみてください。