Сокрытие рабочего листа Excel с VBA

У меня есть электронная таблица Excel с тремя листами. Один из листов содержит формулы для одного из других листов.

Существует ли программный способ скрыть лист, который содержит эти формулы?

34
задан Teamothy 31 October 2019 в 09:42
поделиться

3 ответа

Чтобы скрыть из пользовательского интерфейса, используйте Формат> Лист> Скрыть

Чтобы скрыть программно, используйте свойство Visible объекта Worksheet . Если вы делаете это программно, вы можете установить лист как «очень скрытый», что означает, что его нельзя отобразить через пользовательский интерфейс.

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

Вы также можете установить свойство Visible через панель свойств для рабочего листа в среде VBA IDE ( ALT + F11, ).

68
ответ дан 27 November 2019 в 16:03
поделиться

Вы можете сделать это программно, используя макрос VBA. Вы можете сделать лист скрытым или очень скрытым :

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
ответ дан 27 November 2019 в 16:03
поделиться

Это можно сделать в одной строке, пока рабочий лист активен:

ActiveSheet.Visible = xlSheetHidden

Однако вы можете не захотеть этого делать, особенно если вы используете какие-либо операции «выбора» или вы используете какие-либо другие операции ActiveSheet.

6
ответ дан 27 November 2019 в 16:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: