Я хочу, чтобы скрыть все вкладки, имена которых "ABC", "DEF", "GHI"
Excel VBA скрыть листы с именами в массиве
Это мой код:
Sub hideSheets()
Dim ws As Worksheet
invisible = Array("ABC", "DEF", "GHI")
For Each ws In ActiveWorkbook.Worksheets
For Each nome In invisible
If ws.Name = nome Then
ws.Visible = False
Else
ws.Visible = True
End If
Next nome
Next ws
End Sub
Который не скрывает любой лист.
Это был ответ [здесь] (http://stackoverflow.com/questions/853270/hiding-an-excel-sheet). Вам нужно использовать: xlSheetVeryHidden, xlSheetHidden или xlSheetVisible после '=' вместо true или false. –
@ScottCraner Ответы на этот вопрос не затрагивают компонент массива в заголовке вопроса. Кроме того, ваш комментарий, хотя и не ошибается, вводит в заблуждение. 'xlSheetHidden = 0', что в точности эквивалентно False,' xlSheetVisible = -1', что в точности эквивалентно True. Таким образом, эти два видимых состояния могут и часто достигаются с помощью простых булевых значений. 'xlSheetVeryHidden = 2', который может быть установлен либо с константой, либо с литералом, либо с выражением. В любом случае ничто из этого другого вопроса не затрагивает этот вопрос. –
@ExcelHero Как всегда, я преклоняюсь перед вашими знаниями. –