Судя по тому, что вы предоставили, кажется, что вы пытаетесь сделать все листы очень скрытыми, вы не можете этого сделать.У вас ДОЛЖЕН быть хотя бы один ВИДИМЫЙ лист в рабочей тетради.
Кроме того, чтобы с помощью VBA сделать листы очень скрытыми без использования имен листов, вам следует использовать индексы листов или их кодовое имя.Кодовое имя листов не может быть изменено с помощью интерфейса, поэтому код будет работать с любым именем листа.Чтобы изменить кодовое имя листов, перейдите к VBE (ALT + F11), дважды щелкните по нужному листу и измените имя, которое является первым элементом в окне свойств, если вы не видите окно свойств, нажмите F4,Допустим, вы изменили кодовое имя листа на mySht1
, тогда вы можете сделать:
mySht1.Visible = xlVeryHidden
, если вы используете индекс листов для изменения видимости, вы можете сделать это:
ThisWorkbook.Sheets(1).visible=xlVeryHidden
Если вы хотите использовать этот метод, вам нужно всегда иметь один видимый лист, поэтому вам нужно создать лист и затем запустить этот код:
Sub VeryHiddenTabs()
For i = 1 To ThisWorkbook.Worksheets.Count - 1
ThisWorkbook.Worksheets(i).Visible = xlVeryHidden
Next
End Sub
, так как у вас уже есть лист, который выупомянул, тогда Excel сделает все самое скрытое.Приведенная выше процедура будет держать последний созданный лист видимым, а остальные очень скрытыми.