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

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

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

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

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

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

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

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

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

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

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

Вы также можете использовать описанную выше технику для листов, которые даже не являются активными. Например, если я сейчас нахожусь на 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 ("Продажи"). Удалить End Sub
Этот код удалит только лист с именем «Продажи».

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

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

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

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

Например, приведенный ниже код удалит листы с именами Продажи, Маркетинг, Финансы:
Sub DeleteSheetsByName () Sheets («Продажи»). Delete Sheets («Marketing»). Delete Sheets («Finance»). Delete End Sub

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

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

Ниже приведен код VBA, который удалит все листы, кроме активного листа в книге.
Sub DeleteSheetByName () Dim ws As Worksheet Application.DisplayAlerts = False для каждого ws в таблицах Если 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" & "*" Тогда MsgBox ws.Name ws.Delete End If Next ws Application.DisplayAlerts = Истинный конец Sub
В приведенном выше коде используется оператор if-then для просмотра всех листов в книге. Он проверяет имя всех этих рабочих листов, и если имя содержит слово «Продажи», то этот рабочий лист удаляется.

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

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

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

Например, если вы хотите удалить те листы, в которых термин продажи появляется в начале, используйте следующий код в пятой строке.
Если ws.Name Like "*" & "Sales" & "*" Тогда
Здесь я использовал подстановочный знак только после текста «drink», а не перед ним. Это обеспечит при проверке имен рабочего листа только те, которые будут соответствовать критериям, в которых термин «Продажи» стоит в начале имени.

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

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

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

Оцените статью
Vip Excel: cоветы по работе с Эксель, таблицы и формулы
Adblock
detector