У меня есть электронная таблица 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.