構文
Sheets.Visible = expression
expression・・・True:表示する、False:非表示にする、もしくはxlVeryHidden (下記参照)
ワークシートの表示と非表示を切り替えるには、Sheets オブジェクトの Visible プロパティです。
Visible プロパティに True を設定すると対象の Sheets オブジェクトが表示され、False で非表示です。
Visible プロパティに True を設定すると対象の Sheets オブジェクトが表示され、False で非表示です。
また下表の xlVeryHidden を設定することで完全に非表示な状態に設定可能です。
完全に非表示な状態とは、ユーザ操作で書式メニューから「再表示」が出来ません。
プログラム側で自由に使用が出来るユーザが操作できないシートを作成可能です。
Visibleプロパティ定数一覧(XlSheetVisibility 列挙型)
名前 | 値 | 説明 |
xlSheetHidden | 0 | 対象の Sheets オブジェクトを非表示にします。(Falseと同義です) |
xlSheetVeryHidden | 2 | 対象の Sheets オブジェクトを完全に非表示な状態にします。 xlSheetVisible を設定しない限り、オブジェクトは表示されません。 また、ユーザ側でオブジェクトを操作することは出来ません。 |
xlSheetVisible | -1 | 対象の Sheets オブジェクトを表示します。(Trueと同義です) |
ワークシートの表示・非表示を変更するコードサンプル
Public Sub sample() '■アクティブシートを非表示にする ActiveSheet.Visible = False '■指定シートを表示する Worksheets("Sheet1").Visible = True '■非表示シートを全て表示する Dim ws As Worksheet For Each ws In Worksheets If ws.Visible = False Then ws.Visible = True End If Next ws '■一時的な計算シート作成し、処理終了時にシート削除する Dim ws As Worksheet Set ws = Worksheets.Add ws.Visible = xlSheetVeryHidden 'xlSheetVeryHidden の追加シートを削除 Application.DisplayAlerts = False ws.Visible = xlSheetHidden 'xlSheetVeryHidden ではDelete不可 ws.Delete Application.DisplayAlerts = True End Sub
注意点
- ブック上から全てのワークシートを非表示にすることはできません。
- Visibleプロパティに False を設定してすべてのワークシートが非表示になる場合はエラーが発生します。 実行時エラー’1004′: アプリケーション定義またはオブジェクト定義のエラーです。
- xlSheetVeryHidden 定数を設定しているシートに対してはDeleteメソッドで削除できません。 削除しようとすると、エラーが発生します。 実行時エラー’1004′: アプリケーション定義またはオブジェクト定義のエラーです。
コメント