たった1日で即戦力になるExcelの教科書

エクセル解説記事

エクセルセミナー【マクロVBA】複数の非表示のシートを一発で表示させる方法

エクセルセミナー【マクロVBA】複数の非表示のシートを一発で表示させる方法

 

こんにちは。

すごい改善の吉田です。

 

エクセルファイルは通常、いくつかのシートから構成されています。


普通はそのシートは画面下のほうのシートタブで選択できるようになっていますが、場合によっては表に出しておきたくないシートもあります。参照先にするシートなんかがその最たる例ですね。中高生の諸君の場合によっては変な画像をしまっておきたい場合もあるかも知れません。


これが「シートの非表示」です。


エクセル2003の場合、非表示にしたいシートを選択して「書式」メニューから「シート」→「非表示」と選択するとそのシートが非表示になります。


2007では、「ホーム」タブ→「セル」グループ→書式→表示設定→非表示/再表示→「シートを表示しない」…と選択するか、もしくは非表示にしたいシートのシートタブ上で右クリックメニューから「非表示」を選択することでそのシートを隠せます。


一方、再表示する場合はこの逆の手順を踏めばいいわけですが、一つ悩みが出て来ます。


複数の非表示シートを全部再表示させたい場合、一発で再表示することができないという悩みです。


「再表示」リストから、再表示させたいシートを一つずつ選択して行かなければなりません。再表示させたい非表示シートがたくさんある場合なんかには結構な手間になります。

 

こんなときどうするか、と言えば私はここでマクロを使います。


では、実際に、全ての非表示シートを一発で再表示するマクロを書いてみましょう。

 

Sub シート再表示()
  Dim sh As Worksheet
  For Each sh In Worksheets
    sh.Visible = True
  Next
End Sub

 

試しにいくつかのシートを非表示にしたエクセルファイルを開いて、このマクロを実行すると全ての非表示シートが一度に再表示されます。


何でもかんでもマクロがベストではありませんが、基本機能ではまかなえない部分をマクロで補完できるようにしておくととてもよいと思います。