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マクロ

TrackBack:3

TrackBack URL
マクロにショートカットキーを割り当てる−マクロダイアログ from インストラクターのネタ帳
対象:Excel 97,2000,2002,2003 これまでこのサイトでいくつかのマクロをご紹介してきました。 ・ワークシート名一覧を作成したい ・非表示シートをまとめて表示したい ・シートを並べ替えたい ・マクロでフリガナをふる 登録したマクロを実行する方法はいろいろあります...
不要なワークシートを削除する from インストラクターのネタ帳
対象:Excel 97,2000,2002,2003 Excelを使って実務で資料作成をしていると、ワークシートの整理整頓をする処理が必要になることが少なくありません。 このサイトでは、ワークシートの整理に役立つ以下のようなVBAマクロをご紹介してきました。 ・シート名一覧作成マクロ ...
すべてのシートを再表示する−イミディエイトウィンドウ from インストラクターのネタ帳
対象:Excel2002, Excel2003, Excel2007, Excel2010 「エクセル すべてのシート 再表示」 「Excel 全ワーク...

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

「Sheets・Worksheet」の記事一覧

検索


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

.