Как удалить сразу несколько рабочих листов?

code: #vba
Application.DisplayAlerts = False
Worksheets(Array(1, 3, 5)).Delete
Application.DisplayAlerts = True
code: #vba
Application.DisplayAlerts = False
Worksheets(Array("Лист1", "Лист3", "Лист5")).Delete
Application.DisplayAlerts = True
  • В первом примере активная рабочая книга должна содержать не менее пяти рабочих листов, причём, хотя бы один из рабочих листов с индексом (номером) 2, 4 должен быть видимым.
  • Во втором примере активная рабочая книга должна содержать рабочие листы с указаными именами, а после их удаления должен остаться хотя один видимый лист.
  • Для удаления листов различного типа, необходимо, вместо семейства Worksheets использовать Sheets.

Если у всех листов, которые Вы планируете удалить, значение свойства Visible установлено как xlVeryHidden/xlSheetVeryHidden, то попытка их удаления приведёт к ошибке. Если xlVeryHidden установлено только у некоторых листов, то ошибка не возникнет, но и листы удалены не будут.

Поделиться:

Похожие статьи: