VBAでシートの表示と非表示を設定する

Worksheet.Visibleプロパティ

ワークシートの表示と非表示の設定と状態の取得はWorksheetオブジェクトのVisibleプロパティで行います。

グラフシート(Chartオブジェクト)やダイアログシート(DialogSheetオブジェクト)もVisibleプロパティで設定、変更を行いますが、一般的には利用されることはないため、以降は主にWorksheetオブジェクトにて説明します。

構文

Property Worksheet.Visible As XlSheetVisibility

親オブジェクト Worksheet 親オブジェクトとしてWorksheetオブジェクトを指定します。
XlSheetVisibility 設定もしくは取得する値をXlSheetVisibility列挙型で指定します。

定数 内容
xlSheetHidden 0

False

シートを非表示にします。ただしExcel上で再表示することが可能です。

Falseを指定した場合も同じ意味になります。

xlSheetVeryHidden 2 シートを非表示にします。Excel上での再表示はできません。
xlSheetVisible -1

True

シートを表示します。

Trueを指定した場合も同じ意味になります。

xlSheetHiddenとxlSheetVeryHiddenの違い

XlSheetVisibility列挙型のxlSheetHiddenとxlSheetVeryHiddenはどちらもシートを非表示にする定数ですが、Excel上で再表示できるかどうかの違いがあります。

Excel上で非表示にする場合は再表示できるため、この非表示の命令はxlSheetHiddenと同じ意味になります。

再表示ができなくなるxlSheetVeryHiddenの設定はExcel上では出来ません。VBAのみで設定が可能です。

注意点

Visibleプロパティを使う際に注意があります。

それはブックのシートが全て非表示になるような設定を行うとエラーになる点です。

ブックには必ず1つは表示シートが必要です。

それが無くなるような設定はExcelの仕様上エラーになります。

シートの見出し自体を非表示にする

Visibleプロパティを使うとシートの見出しが非表示になります。

そのシートの見出しですが、見出し自体を非表示にすることが出来ます。

WindowオブジェクトのDisplayWorkbookTabsプロパティをFalseにすると見出しを非表示にし、Trueにすると表示します。

表示状態

非表示状態

ただし、見出しが非表示になっていてもシートの移動はCtrl + Pageupキー、または、Ctrl + Pagedownキーで行うことが可能です。

サンプルコード

2番目のシートの表示状態を切り替えるサンプルコードです。

表示 → 非表示(再表示可) → 非表示(再表示不可) → 表示、の順に変わります。

関連記事

サブコンテンツ

このページの先頭へ