Worksheet.Visibleプロパティ
ワークシートの表示と非表示の設定と状態の取得はWorksheetオブジェクトのVisibleプロパティで行います。
グラフシート(Chartオブジェクト)やダイアログシート(DialogSheetオブジェクト)もVisibleプロパティで設定、変更を行いますが、一般的には利用されることはないため、以降は主にWorksheetオブジェクトにて説明します。
構文
Property Worksheet.Visible As XlSheetVisibility
親オブジェクト | Worksheet 親オブジェクトとしてWorksheetオブジェクトを指定します。 | ||||||||||||
XlSheetVisibility | 設定もしくは取得する値をXlSheetVisibility列挙型で指定します。
|
xlSheetHiddenとxlSheetVeryHiddenの違い
XlSheetVisibility列挙型のxlSheetHiddenとxlSheetVeryHiddenはどちらもシートを非表示にする定数ですが、Excel上で再表示できるかどうかの違いがあります。
Excel上で非表示にする場合は再表示できるため、この非表示の命令はxlSheetHiddenと同じ意味になります。
再表示ができなくなるxlSheetVeryHiddenの設定はExcel上では出来ません。VBAのみで設定が可能です。
注意点
Visibleプロパティを使う際に注意があります。
それはブックのシートが全て非表示になるような設定を行うとエラーになる点です。
ブックには必ず1つは表示シートが必要です。
それが無くなるような設定はExcelの仕様上エラーになります。
シートの見出し自体を非表示にする
Visibleプロパティを使うとシートの見出しが非表示になります。
そのシートの見出しですが、見出し自体を非表示にすることが出来ます。
WindowオブジェクトのDisplayWorkbookTabsプロパティをFalseにすると見出しを非表示にし、Trueにすると表示します。
表示状態
非表示状態
1 2 3 4 5 6 7 |
Sub DisplayWorkbookTabsTest() '// 非表示 ActiveWindow.DisplayWorkbookTabs = False '// 表示 ActiveWindow.DisplayWorkbookTabs = True End Sub |
ただし、見出しが非表示になっていてもシートの移動はCtrl + Pageupキー、または、Ctrl + Pagedownキーで行うことが可能です。
サンプルコード
2番目のシートの表示状態を切り替えるサンプルコードです。
表示 → 非表示(再表示可) → 非表示(再表示不可) → 表示、の順に変わります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Sub WorksheetVisibleTest() Dim sht As Worksheet Set sht = Worksheets(2) '// 表示されている場合 If (sht.Visible = xlSheetVisible) Then '// 非表示(再表示可)に設定 sht.Visible = xlSheetHidden '// 非表示(再表示可)の場合 ElseIf (sht.Visible = xlSheetHidden) Then '// 非表示(再表示不可)に設定 sht.Visible = xlSheetVeryHidden '// 非表示(再表示不可)の場合 ElseIf (sht.Visible = xlSheetVeryHidden) Then '// 表示に設定 sht.Visible = xlSheetVisible End If End Sub |