僕の趣味が行き交う街

僕の趣味に関するエッセイです!

【実は簡単】Excelで非表示のシートを全部一気に再表示する方法

Excel シート 一括再表示 エクセル

【やりたいこと】

Excelで非表示のセルを全部一括で再表示したい!

(何故か標準機能だと1個ずつしか再表示できない)

数クリックとコピペで出来ますよ(^^♪

どこから始めても多分3~5クリックくらいかな。

 

【ざっくり方法】※ここだけ読めばいい※

①VBAのエディタを起動します。(Alt + F11 で出来るらしいよ)

②イミディエイトウィンドウ(下図でいう所の下のウィンドウ)に、

 『for each s in sheets:s.visible=true:next』と入力してEnter!

③以上。これで全部のシートが表示されています(^^♪

VBA Debug.Printとイミディエイトウィンドウ - Automate Excel

※VBEが起動できない人はググって設定とかを見直してね!

※実は画面の裏側で起動してました、とかありがち(笑)

 

【これが出来て便利なこと】

シートの数が多くて邪魔だから、不要なのは全部非表示にするぜ!

とかがやりやすくなります(^^♪

戻す時には一発で全部を再表示できますから。

逆に標準機能だと1シートずつ再表示を繰り返さなきゃいけなくて、この技を知らずに間違って非表示にしようものなら・・・(^^;)

 

【こうするともっと便利かも!】

(A)コードを辞書登録しておけば次回以降の入力が楽

(B)今回のコードをマクロとして登録しておけば、以降は実行するだけで可能

(C)図形にマクロを登録しておけば、ボタンを押すだけにも出来る(^^♪

 

【さらに応用するなら・・・?】

ここからはVBAを弄れる人が前提になりますが、シートの名前の付け方に一定の規則を設けてあげれば、特定の条件に合致するシートだけ非表示とか再表示を出来るようにもなりますね。

僕はそのような機能が必要なケースはありませんでしたが・・・(笑)

 

【一応解説】

for each s in sheets:s.visible=true:next

⇒変数sにsheets(シートの内容を端から全部)を順番に入れて行く。

⇒その過程で処理中のシートを見える状態にする。

つまり・・・A~Zのシートがある時に下記の処理を行う。

Aシートを見える状態にする⇒Bシートを見える状態にする⇒Cシートを・・・⇒⇒⇒Zシートを見える状態にする

 

【コメント】

非表示にする時は複数まとめて一括で出来るのに、再表示の時は何故か出来ないんですよね(笑)

これ昔っから不思議なんだけど何で標準の機能で実装しないのだろうか??

もはや罠の領域でしょ(笑)

・・・と思ったら最近の365ではShiftで複数選択できるようになっているとか。

でも僕の環境では出来ませんでした(^^;)

バージョンが足りていないのか・・・?