При работе с Excel вы проводите большую часть своего времени на листе (который представляет собой область, в которой есть все ячейки и все, что там происходит). Эффективная работа с Excel также означает, что вам придется работать с несколькими листами в одной книге. Excel позволяет легко добавлять несколько листов в книгу, и в то же время вы также можете легко удалить эти листы.

В этом руководстве по Excel я покажу вам, как быстро удалить листы в Excel . Я бы рассмотрел несколько методов, таких как использование сочетаний клавиш, параметры на ленте и VBA для удаления листов в Эксель.

Примечание. В этом уроке я буду использовать слова «лист» и «рабочий лист» как синонимы. Но чтобы сказать вам разницу, листы будут включать в себя рабочие листы, а также листы диаграмм, но поскольку листы диаграмм Excel не так широко используются, всякий раз, когда я использую слово лист, рассматривайте его как лист.

Удаление листов с помощью параметров правой кнопки мыши

Самый простой способ удалить рабочий лист в Excel — использовать эту простую технику двойного щелчка мыши.

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

Ниже приведены шаги для этого:

  • Щелкните правой кнопкой мыши лист, который вы хотите удалить.
  • Нажмите на опцию удаления
  • В появившейся подсказке нажмите кнопку Удалить.

Вы также можете использовать описанную выше технику для листов, которые даже не являются активными. Например, если я сейчас нахожусь на Sheet1 и хочу удалить Shee3, я могу просто щелкнуть правой кнопкой мыши Sheet3 и удалить его.

Вы также можете использовать ту же технику для одновременного удаления нескольких листов .

Например, если я хочу удалить Sheet2 и Sheet3 за один раз, я могу удерживать контрольную клавишу и нажимать на Sheet2 и Sheet3 один за другим (при этом все еще удерживая контрольную клавишу).

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

Помните, что вы не можете удалить все листы в книге в Excel. в книге всегда должен быть хотя бы один лист. если вы попытаетесь удалить все рабочие листы (или единственный активный лист), вы увидите подсказку, которая сообщит вам, что вам не разрешено это делать

Сочетания клавиш для удаления рабочих листов

Существует не одна комбинация клавиш, а две с половиной, которые можно использовать для удаления листов в Excel.

Я говорю «два с половиной», потому что в одном из сочетаний клавиш он использует мышь и клавиатуру (и это все еще более быстрый способ сделать это).

Гибридная комбинация клавиш для удаления листа

Щелкните правой кнопкой мыши + D

Чтобы удалить выбранный рабочий лист или рабочие листы, щелкните правой кнопкой мыши, а затем нажмите клавишу D на клавиатуре.

Лично я считаю, что это намного быстрее, чем просто удаление листа с помощью мыши (как я уже говорил в предыдущем разделе).

Обычное сочетание клавиш для удаления листа

ALT + H + D + S

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

Вам нужно нажимать эти клавиши последовательно (т. Е. Одну за другой).

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

Устаревшее сочетание клавиш для удаления листов

Как и у всех остальных, у Excel тоже есть прошлое, и оно не такое уж красивое. Я говорю об эпохе до-ленточного стиля.

По соображениям совместимости Excel по-прежнему позволяет некоторым из этих старых сочетаний клавиш работать в более новых версиях. и во многих случаях эти ранние ярлыки короче и лучше.

К счастью, есть устаревшее сочетание клавиш, которое работает для удаления листов в Excel.

ALT + E + L

Удаление ActiveSheet с помощью VBA

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

Хотя VBA может автоматизировать процесс, он полезен, когда вам нужно повторить задачу несколько раз.

Как вы увидите, с помощью VBA вы можете сделать гораздо больше, когда дело доходит до удаления листов в Excel.

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

Ниже приведен код VBA, который удалит активный лист:

Sub DeleteSheet () 
ActiveSheet.Delete 
End Sub

Если вы используете его в непосредственном окне, вы можете просто использовать следующую строку:

ActiveSheet.Delete

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

Удаление листа без запроса подтверждения

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

Но если вы уже знаете, что делаете, это сообщение может сильно раздражать.

Итак, вот код VBA, который гарантирует, что листы удалены, но вы не видите окно с запросом подтверждения.

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

В приведенном выше коде я установил для свойства Application.DisplayAlerts значение false, что означает, что Excel не будет показывать вам никаких предупреждений на дисплее во время выполнения кода.

Также очень важно убедиться, что вы вернули его к истине в конце кода, чтобы восстановить функциональность (как вы можете видеть, что я сделал в приведенном выше коде).

Внимание! Если для свойства Application.DisplayAlerts установлено значение false, Excel просто удалит рабочий лист, и восстановить его будет невозможно. поэтому я советую вам сделать резервную копию, прежде чем использовать такой код.

Удаление листа по имени (если он существует) с помощью VBA

VBA позволяет автоматизировать процесс удаления определенного листа (на нескольких листах) на основе имени листа.

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

Sub DeleteSheetByName()
Sheets("Sales").Delete
End Sub

Этот код удалит только лист с именем «Продажи».

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

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

И поскольку я не менял свойство Application.DisplayAlert, вы увидите приглашение, в котором вам нужно будет нажать кнопку удаления, чтобы подтвердить продолжительность листа продаж.

Если вы хотите удалить несколько листов по их имени, вы также можете это сделать.

Например, приведенный ниже код удалит листы с именами Продажи, Маркетинг, Финансы:

Sub DeleteSheetsByName()
Sheets("Sales").Delete
Sheets("Marketing").Delete
Sheets("Finance").Delete
End Sub

Удаление всех листов, кроме активного листа, с помощью VBA

Если у вас есть книга с несколькими листами, и вы хотите удалить все листы, кроме активного листа, VBA, вероятно, является одним из лучших способов сделать это.

Ниже приведен код VBA, который удалит все листы, кроме активного листа в книге.

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

Обратите внимание, что я сказал, что свойство Application.DisplayAlerts находится в начале кода, так как я не хочу видеть подсказку для каждого удаляемого листа.

Удалить все листы с определенной текстовой строкой в ​​имени

Это немного более продвинутый вариант эффективного использования VBA при удалении листов.

Предположим, у вас есть книга с множеством разных листов, и вы хотите удалить все листы, в которых есть определенная текстовая строка, тогда вы можете легко сделать это с помощью VBA.

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

Ниже приведен код VBA, который сделает это:

Sub DeleteSheetByName()
Dim ws As Worksheet
Application.DisplayAlerts = False
For Each ws In Sheets
If ws.Name Like "*" & "Sales" & "*" Then
MsgBox ws.Name
ws.Delete
End If
Next ws
Application.DisplayAlerts = True
End Sub

В приведенном выше коде используется оператор if-then для просмотра всех листов в книге. Он проверяет имя всех этих рабочих листов, и если имя содержит слово «Продажи», то этот рабочий лист удаляется.

Если вы хотите изменить код и найти любую другую текстовую строку, вы можете изменить ее в пятой строке приведенного выше кода.

Также обратите внимание, что я использовал звездочку (*), которая является символом подстановки, с обеих сторон текстовой строки, которую мы ищем в имени рабочего листа. Это гарантирует, что независимо от того, где строка появляется в имени рабочего листа, она все равно будет удалена.

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

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

If ws.Name Like "*" & "Sales" & "*" Then

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

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

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

Надеюсь, вы нашли этот урок полезным.

Как удалить листы в Excel (ярлыки + VBA)