Как удалить лист в Excel

Часто, при подготовке отчетов (или каких-либо еще данных) вы будете формировать несколько листов.

Эти листы довольно просто добавить и удалить, в случае необходимости.

В данной статье я продемонстрирую вам как можно быстро удалять листы несколькими методами.

С помощью мышки

Это с самый удобный метод.

Допустим, такая ситуация:

Как удалить лист в Excel

Как удалить 1 лист:

Узнайте Excel как свои пять пальцев на курсе по таблицам от Skillbox

  • Правой кнопкой мышки на нужный лист;
Как удалить лист в Excel
  • «Удалить»;
Как удалить лист в Excel
  • Подтвердите.
Как удалить лист в Excel

Не обязательно открывать лист, который вы собираетесь удалить.

Также можно удалить и несколько листов, только для начала выделите их (с помощью CTRL).

К примеру, нам нужно удалить первый, второй и третий листы. Зажимаем CTRL и щелкаем по названиям этих листов, тем самым их выделяя. А затем жмем правую кнопку мышки и «Удалить».

Но не забывайте, что все листы удалить нельзя. Один обязательно должен остаться.

Комбинация горячих клавиш

Тут у нас комбинация даже не одна, рассмотрим все.

Мышь + горячие клавиши

Правая кнопка мышки и кнопка «D».

Выделяем нужные листы, щелкаем правой кнопкой мышки по ним и жмем «D».

На мой взгляд, это намного быстрее чем просто пользоваться мышкой. Особенно если вам нужно удалять много листов.

Простое сочетание клавиш

ALT + H + D + S.

Эта комбинация делает тоже самое — удаляет лист.

Но в этом способе есть минус, он удаляет только активный лист. То есть, если нужно удалить несколько, придется нажимать комбинацию столько раз, сколько нужно удалить листов.

Старая комбинация

Раньше в Excel, для удаления листов, использовалась такая комбинация:

ALT + E + L.

И чтобы не мешать пользователям работать, разработчики не убрали возможность использовать её. В общем, тут уже на ваш выбор, она делает тоже самое что и комбинация рассмотренная в прошлом разделе.

Рекомендуем курс Excel по анализу данных от Skypro — очень глубокое и яркое погружение в Эксель.

Удаляем активный лист с помощью Visual Basic

И, как обычно, рассмотрим вариант с Visual Basic. Его лучше всего использовать тогда, когда вы очень часто удаляете листы. Ничего удобнее вы не найдете.

Итак, рассмотрим разные коды для Visual Basic.

Этот код просто удалит активный лист:

Sub DeleteSheet() 
ActiveSheet.Delete 
End Sub

Однако, если вы будете удалять лист с помощью этого кода, вы получите окошко с просьбой подтвердить удаление. Если вам это окошко мешает — читайте далее.

Без окошка с подтверждением

Это окошко, конечно, вас страхует от удаления чего-то лишнего. Но при работе с большими данными и удалением большого количества листов — оно может раздражать.

Вот тот же самый код, только модифицированный. Теперь окошко подтверждения вы не увидите:

Sub DeleteSheet() 
Application.DisplayAlerts = False 
ActiveSheet.Delete 
Application.DisplayAlerts = True 
End Sub

Однако то, что вы сделаете этим кодом — будет невозможно восстановить, поэтому, на всякий случай, перед использованием сделайте резервную копию оригинального файла.

Как удалить лист с конкретным названием с помощью Visual Basic

Например, мы можем удалить лист с названием «Продажи»:

Sub DeleteSheetByName() 
Sheets("Продажи").Delete 
End Sub

Данный код сделает это. Вы можете задать вполне справедливый вопрос: «Зачем?». Все очень просто — при работе с большим количеством листов, гораздо проще указать название листа и удалить его, чем искать среди огромного количества данных.

Ведь коду без разницы сколько у вас существует листов, он удалит только тот, название которого указано. А также исключит случайные ошибки.

А вот пример с удалением сразу нескольких:

Sub DeleteSheetsByName()

Sheets(«Продажи»).Delete

Sheets(«Маркетинг»).Delete

Sheets(«Финансы»).Delete

End Sub

Узнайте Excel как свои пять пальцев на курсе по таблицам от Skillbox

Как удалить все листы кроме активного с помощью Visual Basic

С помощью Visual Basic можно сделать и такое.

Вот код:

Sub DeleteSheetByName() 
Dim ws As Worksheet 
Application.DisplayAlerts = False 
For Each ws In Sheets 
If ws.Name <> ActiveSheet.Name Then 
ws.Delete 
End If 
Next ws 
Application.DisplayAlerts = True 
End Sub

Удаляем листы по текстовому критерию

Это, наверное, самый частый пример, который в реальной жизни мне приходится использовать.

Допустим, у вас есть файл Excel с большим количеством листов. Среди них есть «Продажи1», «Продажи2» и так далее.

Например, ниже у меня есть рабочая книга, в которой я хочу удалить все рабочие листы, содержащие текстовую строку «Sales».

Код:

Sub DeleteSheetByName() 
Dim ws As Worksheet 
Application.DisplayAlerts = False 
For Each ws In Sheets 
If ws.Name Like "*" & "Продажи" & "*" Then 
MsgBox ws.Name 
ws.Delete 
End If 
Next ws 
Application.DisplayAlerts = True 
End Sub

Что этот код делает?

Он проходится по каждому листу и проверяет есть ли в названии листа указанная в коде строка («Продажи»).

Если есть — удаляет лист. А если нет, то просто переходит к следующему листу.

Если вам нужна другая строка — просто поменяйте её в коде.

Также код можно модифицировать, например так:.

If ws.Name Like «Продажи» & «*» Then

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

Итак, мы рассмотрели много методов удаления листов в Excel. Как сделать это с помощью мышки, горячих клавиш, а также рассмотрели использование Visual Basic в разных ситуациях.

Рекомендуем курс Excel по анализу данных от Skypro — очень глубокое и яркое погружение в Эксель.

Надеюсь, эта статья оказалась полезной для вас!

Узнайте Excel как свои пять пальцев на курсе по таблицам от Skillbox

Оцените статью, пожалуйста
Добавить комментарий