Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » xlSheetVeryHiddenとxlSheetHiddenの違い

xlSheetVeryHiddenとxlSheetHiddenの違い

動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2112 ビルド14729.20260 Microsoft Store)

「xlVeryHidden, xlSheetVeryHidden、違い」
「excel SheetHidden xlSheetVeryHidden 違い」
といった検索キーワードで時折アクセスがあります。

Excel VBAでシートを非表示にする際に指定できる、XlSheetVisibility列挙型に定義されている定数には、
  xlSheetHidden(直値:0)
  xlSheetVeryHidden(直値:2)
の2つがあります。

この2つは、何が違うのかを調べていらしたのでしょう。

[スポンサードリンク]

xlSheetVeryHiddenとxlSheetHiddenの違いを確認する

簡単なコードを実行して確認しましょう。
ワークシートが3枚存在するブックがアクティブな状態で、以下のSubプロシージャを実行してください。

Sub xlSheetHiddenとxlSheetVeryHiddenの違いを確認する()
 Worksheets(1).Visible = xlSheetHidden
 Worksheets(2).Visible = xlSheetVeryHidden
End Sub

「Worksheets(1)」で取得した1枚目と、「Worksheets(2)」で取得した2枚目のワークシートが、非表示に設定されます。

つづいて、Excelのシート見出し上で右クリックして表示されるショートカットメニューから[再表示]を選択して、[再表示]ダイアログボックスを表示してください。

そこには、

Worksheets(1).Visible = xlSheetHidden

で非表示に設定されたワークシートの名前は表示されているものの、

Worksheets(2).Visible = xlSheetVeryHidden

で非表示にしたワークシートの名前は表示されていないはずです。

上図は、1枚目のワークシートが「Sheet1」2枚目が「Sheet2」で、先述のSubプロシージャを実行した後の様子です。

xlSheetVeryHiddenなら人間が再表示できない非表示シートに

つまり、Worksheet.Visibleプロパティに定数xlSheetHiddenを設定した場合は、Excel上で人間が操作して再表示できる非表示シートになります。

一方、xlSheetVeryHiddenを設定すると、Excelでは再表示できない非表示シートになります。

全ワークシートを再表示する

VBAで再表示する場合には、xlSheetHiddenでもxlSheetVeryHiddenでも同じです。

Sub 全ワークシートを再表示する()
 Dim ws As Worksheet
 For Each ws In Worksheets
  ws.Visible = xlSheetVisible
 Next
End Sub

上記のようにWorksheet.Visibleプロパティに定数xlSheetVisible(直値:-1)を指定すれば、xlSheetHiddenで非表示にしたシートも、xlSheetVeryHiddenで非表示にしたシートも再表示されます。

こういった処理で、「もし非表示だったら」といったIf文を入れようとする方が時々いらっしゃいますが、わざわざ条件分岐させる必要はありません。

最終更新日時:2022-06-15 16:04

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » xlSheetVeryHiddenとxlSheetHiddenの違い

Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » xlSheetVeryHiddenとxlSheetHiddenの違い

「Sheets・Worksheet」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.