Из этого туториала Вы узнаете, как удалить или очистить рабочий лист с помощью VBA.
Удалить лист
Используйте команду удаления, чтобы удалить рабочий лист.
Удалить лист по имени
1 | Таблицы ("Лист1"). Удалить |
Удалить лист по порядковому номеру
Этот код удаляет первый рабочий лист в книге:
1 | Листы (1) .Удалить |
Этот код удаляет последний рабочий лист в книге:
1 | Таблицы (Sheets.Count). Удалить |
Удалить лист без запроса
Когда вы пытаетесь удалить лист, Excel попросит вас подтвердить ваше действие:
Вы можете отключить эти подсказки (предупреждения), переключив DisplayAlerts:
123 | Application.DisplayAlerts = FalseТаблицы ("Лист1"). УдалитьApplication.DisplayAlerts = True |
Удалить лист, если он существует
Если вы попытаетесь удалить несуществующий лист, VBA выдаст ошибку. С помощью On Error Resume Next вы можете указать VBA удалить лист, если он существует, в противном случае перейти к следующей строке кода:
123 | При ошибке Возобновить ДалееТаблицы ("Лист1"). УдалитьПри ошибке GoTo 0 |
Вы также можете использовать нашу функцию RangeExists, чтобы проверить, существует ли лист, и, если да, удалить его:
123 | Если RangeExists ("Sheet1"), тоТаблицы ("Лист1"). УдалитьКонец, если |
Чистый лист
Этот код очистит весь лист содержимого, форматов и всего остального:
1 | Таблицы ("Sheet1"). Cells.Clear |
Очистить содержимое листа
Этот код очистит содержимое всего листа. Он оставит форматирование, комментарии и все остальное в покое:
1 | Таблицы ("Sheet1"). Cells.ClearContents |
Очистить используемый лист
В приведенных выше примерах будут очищены ВСЕ ячейки на листе. Для больших листов это может занять очень много времени. Если вместо этого вы используете UsedRange, VBA очистит только «используемые» ячейки, содержащие значения, форматы и т. Д.
1 | Листы ("Лист1"). UsedRange.Clear |