シートを非表示にする方法と、非表示にしたシートを再表示する方法をご紹介しました。
非表示になったシートがたくさんあるワークブックで、シートを再表示させるために、何度もメニュー[書式]−[シート]−[再表示]から[再表示]ダイアログを表示させ、シートを指定するのはかなり面倒です。
For~Nextループで非表示シートをまとめて再表示するサンプルマクロ
こういった処理こそマクロが得意とするところです。For~Nextループを使うのなら以下のようなマクロです。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ループを使うのなら以下のようなマクロです。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ループのほうが、シンプルなコードになります。
- Newer:改ページの一括削除
- Older:突然かな入力に-Alt+カタカナひらがなキー
Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » 非表示シートをまとめて再表示するExcelマクロ