VBA VeryHidden несколько вкладок - PullRequest
       10

VBA VeryHidden несколько вкладок

0 голосов
/ 25 сентября 2018

Я провел исследование и по какой-то причине не могу заставить этот простой код работать правильно.Проще говоря, я пытаюсь xlveryhidden 5 вкладок, но я получаю run-time error 1004.Во всяком случае, было бы неплохо изменить имена листов на имена кодов, если я изменю имена вкладок:

  • Лист1 - Расчеты
  • Лист2 - Ставки LY
  • Sheet3 - TY Rates
  • Sheet4 - Данные клиента
  • Sheet5 - Перепись

Sub VeryHiddenTabs()
    Sheets(Array("Calculations", "LY Rates", "TY Rates", "Client Details", "Census")).Visible = xlVeryHidden
End Sub

Ответы [ 2 ]

0 голосов
/ 25 сентября 2018

Я смог использовать это, чтобы установить мои листы на .Visible = False.

Sub HideMySheets()
    Sheets(Array(Sheet1.Name, Sheet2.Name, Sheet3.Name, Sheet4.Name, Sheet5.Name)).Visible = False
End Sub

К сожалению, оказывается, что вы не можете использовать этот метод для установки их на .Visible = xlVeryHidden.Вместо этого вы должны сделать это для каждого листа, используя метод @ Ibo.

0 голосов
/ 25 сентября 2018

Судя по тому, что вы предоставили, кажется, что вы пытаетесь сделать все листы очень скрытыми, вы не можете этого сделать.У вас ДОЛЖЕН быть хотя бы один ВИДИМЫЙ лист в рабочей тетради.

Кроме того, чтобы с помощью 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 сделает все самое скрытое.Приведенная выше процедура будет держать последний созданный лист видимым, а остальные очень скрытыми.

...