Рассмотрим ситуацию, когда вам нужно скрыть и показать сразу несколько листов. Если кто-то скрывает и показывает вручную, это займет много времени.

В этой статье вы узнаете, как динамически скрывать или отображать несколько вкладок с помощью кода VBA.

В): Мне нужен макрос, который будет скрывать или отображать несколько вкладок в один момент времени.

Ниже приведен снимок листа 1, в котором будут два динамических списка, т.е. Hide Tabs и Unhide Tabs

img1

  • Идея заключается в том, что когда мы нажимаем кнопку «Скрыть» или «Показать», перечисленные листы должны скрыться или отобразиться. Нам необходимо выполнить следующие шаги:

Чтобы получить результат, нам нужно запустить редактор VB. Перейдите на вкладку «Разработчик» * В группе «Код» выберите Visual Basic

img2

  • Нажмите «Вставить», затем «Модуль»

img3

Это создаст новый модуль.

Введите следующий код в модуле Sub HideTabs () Dim TabNo As DoubleDim LastTab As Double LastTab = Range («Hide_TabsDNR»). Продолжить счет при ошибке Далее для TabNo = 2 To LastTab Sheets (Range («Hide_TabsDNR») (TabNo)) .Visible = False Next TabNo On Error Перейти к 0 листам (1). Select End Sub

===

Sub UnHideTabs ()

Dim TabNo As Double

Dim LastTab As Double

LastTab = Range («Hide_TabsDNR»). Количество

При ошибке Продолжить След.

For TabNo = 2 To LastTab

Sheets (Range («UnHide_TabsDNR») (TabNo)). Visible = True

Номер следующей вкладки

При ошибке Перейти к 0

Листы (1). Выбрать

End Sub

img4

  • Мы все настроены на запуск макроса, если мы нажмем кнопку «Скрыть», то все перечисленные листы будут скрыты, см. Ниже снимок экрана

img5

  • Таким же образом, если мы нажмем кнопку «Показать», все скрытые листы, упомянутые в столбце D, станут невидимыми.

Таким образом, мы можем динамически скрывать или отображать несколько вкладок одновременно.