【VBA入門】存在するシートなのに表示させない方法~xlSheetVeryHidden

実在するのに表示できないシートとは?どうすれば表示できるのか?目的はなんなのか?


実在するのに表示できないシートとは???
どうすれば表示できるのか???目的はなんなのか???

みなさん、こんにちは。セルネッツ竹本です。

今回は、「実在するシートを表示させない設定」をテーマに、解説をしたいと思います。

◆そもそも何故、そんなことする必要があるのか

ExcelVBAツールでは、ワークシートを上手に活用することで、「ユーザの任意の設定」を反映することができます。

例えば、「部門の選択での初期値」や、「年月の既定値」などです。

これらの設定は、時に誤った操作が行われるリスクをかかえるため、それを触らせたくない。

そんな目的で隠しシートとすることがあります。


「存在自体を気づかせない」というのは、一長一短ありますが、ライセンス認証などのケースでは、ユーザに気づかれないこの仕組みを使うことがあります。

◆では、どうやって設定するのか実際の方法をご紹介します

VBAからは、通常、以下の記述でシート表示のOn/Offを切り替え指定します。

このオーソドックスな方法は、単純なもので、任意のシートタブを右クリック[再表示(U)]すれば、隠されたシートが表示できます。

Worksheets(1).Visible = False ‘非表示

Worksheets(1).Visible = True ‘表示

これに対し、この方法では見えないようにするのが、「xlSheetVeryHidden」を使った以下の書き方です。

Private Sub CommandButton1_Click()

Worksheets(2).Visible = xlSheetVeryHidden

Worksheets("Sheets2").Visible = xlSheetVeryHidden

End Sub

【Point】[シート番号]でも[シート名]でもいずれでもOKです。

◆表示をしたい場合は、

Private Sub CommandButton1_Click()

Worksheets(2).Visible = True

End Sub

VBAプログラムを勉強しながら、実験を繰り返すうつに、自身でも忘れてしまうことがあると思います。

何故なら、手動操作では存在自体を知ることができなくなるためです。(ちょっと怖・・・)

解除は、VBAプログラムからしかできません。


こんなケースで、実は、ブックのシート枚数が正しく認識できていないケースは少なくありませんので、シート枚数をVBAプログラムで確認し、目視枚数と一致しているかどうか。プロの現場では必ずチェックが行われます。


触らせたくない、見られたくないシートは、目的をもって設定する分には、有効な方法とも言えるでしょう。

今回のテーマは、「実在するシートを表示させない設定」について、解説を行いました。

本記事が、Excel実務の効率化において、ご参考お役立てになれば幸いです。


全国対応!お気軽にお問い合わせください