構文
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′: アプリケーション定義またはオブジェクト定義のエラーです。



コメント