VBA – ワークシートを非表示にする(または非表示を解除する)
In this Article
このチュートリアルでは、VBAを使用してワークシートの非表示と非表示を切り替える方法について説明します。
VBAでシートを非表示にする
VBAでシートを非表示にするには、ワークシートのVisibleプロパティを使用します。 VisibleプロパティをFALSEに設定するか、
Worksheets("Sheet1").visible = False
または、Visible プロパティを xlSheetHidden に設定します。
Worksheets("Sheet1").visible = xlSheetHidden
これは、ユーザーがワークシートタブを右クリックして、「非表示」を選択した場合と同じです。
シートの非表示を解除(再表示)する
VBAでSheetの非表示を解除するには、ワークシートのVisibleプロパティを使用します。
Worksheets("Sheet1").Visible = True
または
Worksheets("Sheet1").Visible = xlSheetVisible
非表示中のシートは、ワークシートタブ領域で右クリックし、再表示を選択することで確認できます。
シートのVisibleプロパティには、3番目のオプションであるxlSheetVeryHiddenがあります。
Worksheets("Sheet1").Visible = xlSheetVeryHidden
再表示できない非表示シート(Very Hidden Sheet)は、ワークシートタブ領域で右クリックしても再表示メニューを選択することが出来ません。
つまり、このコードによりユーザーは画面下部のワークシートタブを見ることができなくなります。ワークシートの存在を確認する(またはワークシートの非表示を解除する)唯一の方法は、Visual Basic Editorを開くことです。
再表示できないシートの非表示を解除する
ユーザが再表示できないワークシートも、VBAからなら、通常の非表示ワークシートと同様に非表示を解除できます。
Worksheets("Sheet1").Visible = True
または
Worksheets("Sheet1").Visible = xlSheetVisible
VBAエディタでのシートの非表示/非表示の切り替え
VBAエディタを使って、ワークシートのVisibleプロパティを切り替えることもできます。
すべてのワークシートのタブを隠す
ユーザーが別のワークシートに移動できないように、ワークシートタブエリアを完全に非表示にすることもできます。ワークシートタブを非表示にするをご覧ください。
保護されたワークブックのシートを非表示/非表示にする
ワークシートを非表示にする、または非表示を解除するには、ワークブックの保護が解除されている必要があります。 ワークブック構造の保護を解除するには、次のコードを使用します。
ActiveWorkbook.Unprotect
ワークブック構造がパスワードで保護されている場合、代わりに次のコードを実行する必要があります。
ThisWorkbook.Unprotect "パスワード"
すべてのシートの非表示を解除する
このプロシージャは、For Each Loopを使用して、ワークブック内のすべてのワークシートの非表示を解除します。
Sub Unhide_All_Sheets()
Dim ws As Worksheet
ActiveWorkbook.Unprotect
For Each ws In Worksheets
ws.Visible = xlSheetVisible
Next
End Sub
ワークブックがパスワードで保護されている場合に備えて、最初にワークブックの保護を解除していることに注意してください。
VBAのコーディングが簡単に
VBAのコードをオンラインで検索するのはもうやめましょう。AutoMacro – A VBA Code Builderを使えば、初心者が最小限のコーディング知識でゼロから手順をコーディングできるだけでなく、ベテランのユーザーが時間を節約するのに役立つ多くの機能も備えています! もっと詳しく