web-dev-qa-db-ja.com

VBAでExcelワークシートを非表示にする

3枚のシートを含むExcelスプレッドシートがあります。シートの1つには、他のシートの1つの式が含まれています。

これらの数式を含むシートを非表示にするプログラム的な方法はありますか?

33
Lost

UIから非表示にするには、[書式]> [シート]> [非表示]を使用します

プログラムで非表示にするには、VisibleオブジェクトのWorksheetプロパティを使用します。プログラムで実行する場合、シートを「非常に非表示」に設定できます。つまり、UIで非表示にできません。

ActiveWorkbook.Sheets("Name").Visible = xlSheetVeryHidden 
' or xlSheetHidden or xlSheetVisible

VBAのワークシートのプロパティペインからVisibleプロパティを設定することもできますIDE(ALT+F11)。

63
Tmdean

VBAマクロを使用してプログラムでこれを行うことができます。シートを作成できますhiddenまたはvery hidden

Sub HideSheet()

    Dim sheet As Worksheet

    Set sheet = ActiveSheet

    ' this hides the sheet but users will be able 
    ' to unhide it using the Excel UI
    sheet.Visible = xlSheetHidden

    ' this hides the sheet so that it can only be made visible using VBA
    sheet.Visible = xlSheetVeryHidden

End Sub
20
Dirk Vollmar

与えられた答えにもう少し詳細を加えたかっただけです。使用することもできます

sheet.Visible = False

隠して

sheet.Visible = True

再表示する。

ソース

18
Charles Wood

ワークシートがアクティブである限り、これは1行で実行できます。

ActiveSheet.Visible = xlSheetHidden

ただし、特に「選択」操作を使用する場合、またはActiveSheet操作をさらに使用する場合は、これを行いたくない場合があります。

6