У меня есть электронная таблица Excel с тремя листами. Один из листов содержит формулы для одного из других листов.
Есть ли программный способ скрыть лист, содержащий эти формулы?
У меня есть электронная таблица Excel с тремя листами. Один из листов содержит формулы для одного из других листов.
Есть ли программный способ скрыть лист, содержащий эти формулы?
Чтобы скрыть от пользовательского интерфейса, используйте "Формат" > "Лист" > "Скрыть"
Чтобы спрятать программно, используйте свойство Visible
объекта Worksheet
. Если вы сделаете это программно, вы можете установить листок как "очень скрытый", что означает, что он не может быть скрыт через пользовательский интерфейс.
ActiveWorkbook.Sheets("Name").Visible = xlSheetVeryHidden
' or xlSheetHidden or xlSheetVisible
Вы также можете установить свойство Visible через панель свойств для рабочего листа в среде VBA IDE (ALT+F11).
Вы можете сделать это программно, используя макрос 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
Просто хотелось добавить немного подробностей к ответам. Вы также можете использовать
sheet.Visible = False
чтобы скрыть и
sheet.Visible = True
для отображения.
Это можно сделать в одной строке, если рабочий лист активен:
ActiveSheet.Visible = xlSheetHidden
Однако вы можете не захотеть этого делать, особенно если вы используете какие-либо операции "select" или используете больше операций ActiveSheet.