Подтвердить что ты не робот

Скрытие листа Excel с помощью VBA

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

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

4b9b3361

Ответ 1

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

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

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

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

Ответ 2

Вы можете сделать это программно, используя макрос 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

Ответ 3

Просто хотелось добавить немного подробностей к ответам. Вы также можете использовать

sheet.Visible = False

чтобы скрыть и

sheet.Visible = True

для отображения.

Источник

Ответ 4

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

ActiveSheet.Visible = xlSheetHidden

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