【VBA】シートの非表示・再表示を行うマクロ:隠しシートを作ることもできる!

シェアする

gazou
まず、シートを非表示にするマクロです。これにはVisibleプロパティを用いて行いますが、2つの種類があります。
この2つの違いはタブからの操作等でシートを再び表示させることができるかという点にあります。

1.シートを非表示にさせる方法①

この方法で非表示にさせると、シート名が表示されているタブのところから、
20151123
と再表示を選択することができます。

2.シートを非表示にさせる方法②

この方法の場合には、以下のように再表示を選択することができません
でも、このシートは消えたわけではなく、あくまで隠れているだけです。以下の方法で再び表示させることが可能です。
20151123_2

3.シートを表示にさせる方法

非表示にさせたシートを表示させる方法です。以下のマクロでは上記の2つの方法やユーザー操作で非表示になっているものを表示させることが可能です。

これでシート名を表示できます。Visibleプロパティを用いた表記だけだと表示させたシートをアクティブにすることはできませんのでアクティブにしたい場合には

を入れる必要があります(不要ならば削除してください)。

上記2.で非表示にしてしまったシートはタブからは再表示できないとなると、シート名を忘れてしまうと大変なことになります。そんな時でも大丈夫!という方法をいかにまとめました!

4.現在非表示(or表示)になっているシートの一覧を取得する方法(万が一のために)

以下のマクロを起動させると、2.で非表示にした、つまりプロパティが「xlVeryHidden」のものだけシート名を出力してくれます。

一旦シート数を数えてそれぞれのシートがVisibleプロパティが「xlVeryHidden」かどうかを判定していく流れです。
「xlVeryHidden」の代わりに「xlSheetVisible」、「xlHidden」を使うこともできます。また「xlSheetVisible」は「True」、「xlHidden」は「False」で代用できます。

5.マクロによらない方法も

毎回マクロで確認しなくても、VBEのプロパティウィンドウから確認できます。
20151123_3
ここのプロパティを変更すれば、シートの表示・非表示を上と同様に変更することも可能です。

6.あとがき

1つのファイルの中でシート数が多くなってくると、非常に見づらくなり、シートを非表示にさせたくなります。そんなときに使える小技です。ワークシート側だけでは扱えない“隠れシート化プロパティ”「xlVeryHidden」もぜひご活用あれ~

シェアする

フォローする