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

Разберемся на примере:

В) В моей книге Excel около 100 листов. Только лист1 должен быть виден пользователю, а остальные должны быть невидимы. Я не хочу, чтобы пользователь отображал листы, щелкая правой кнопкой мыши и отображая их.

Щелкните вкладку «Разработчик». В группе «Код» выберите Visual Basic

img1

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

img2

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

Введите следующий код в модуль

Sub HideSheets ()

Рабочий лист Dim sh As

Для каждого в ThisWorkbook.Worksheets

Если sh.Name <> «Sheet1» То

sh.Visible = xlSheetVeryHidden

Конец Если

Далее

End Sub

img3

Приведенный выше код проверит имя каждого рабочего листа, и если будет найдено имя, отличное от «Sheet1», он запустит и скроет лист.

После выполнения макроса; мы получим Sheet1 как видимый для нас, а остальные будут скрыты.

Чтобы просматривать листы Sheet1 и Sheet2 только из 100 листов, вам потребуется следующий код

Sub HideSheets2 ()

Рабочий лист Dim sh As

Для каждого в ThisWorkbook.Worksheets

Если sh.Name <> «Sheet1» То

sh.Visible = xlSheetVeryHidden

Конец Если

Остальное

Если sh.Name <> «Sheet2» То

sh.Visible = xlSheetVeryHidden

Конец Если

Далее

End Sub

Макрос HideSheet2 не скроет «Sheet1» и «Sheet2» и гарантирует, что все остальные листы будут скрыты.

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