Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » 非表示シートをまとめて再表示するExcelマクロ

非表示シートをまとめて再表示するExcelマクロ

対象:Excel97, Excel2000, Excel2002, Excel2003

シートを非表示にする方法と、非表示にしたシートを再表示する方法をご紹介しました。

非表示になったシートがたくさんあるワークブックで、シートを再表示させるために、何度もメニュー[書式]−[シート]−[再表示]から[再表示]ダイアログを表示させ、シートを指定するのはかなり面倒です。

[スポンサードリンク]

For~Nextループで非表示シートをまとめて再表示するサンプルマクロ

こういった処理こそマクロが得意とするところです。For~Nextループを使うのなら以下のようなマクロです。
Sub シートを再表示する_For文()
 Dim i As Long
 
 For i = 1 to Sheets.Count
  Sheets(i).Visible = True
 Next i
End Sub

1枚目から最後のシートまでFor~Nextループを回して、
  For i = 1 to Sheets.Count
VisibleプロパティをTrueに設定しています。
   Sheets(i).Visible = True

For Each~Nextループで非表示シートをまとめて再表示するサンプルマクロ

For Each~Nextループを使うのなら以下のようなマクロです。
Sub シートを再表示する_For_Each文()
 Dim sh As Object ' WorksheetまたはChart
 
 For Each sh In Sheets
  sh.Visible = True
 Next sh
End Sub

アクティブなブックの全シートをFor Each~Nextループで処理して、
  For Each sh In Sheets
各シートのVisibleプロパティを順番にTrueに設定しています。
   sh.Visible = True

上記のマクロはワークシートもグラフシートもあることを想定して
  Dim sh As Object
と宣言していますが、ワークシートしか存在していなければ、
  Dim sh As Worksheet
のほうがいいでしょう。

シートの名前を書き出すマクロの場合、For~Nextループのほうがシンプルでしたが、今回のように全シートに対して無条件に処理したい場合は、For Each~Nextループのほうが、シンプルなコードになります。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » 非表示シートをまとめて再表示するExcelマクロ

「Sheets・Worksheet」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.