Як видалити лист в Excel

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

Ці листи досить просто додати та видалити, у разі потреби.

У цій статті я продемонструю вам якнайшвидше видаляти аркуші декількома методами.

За допомогою мишки

Це з найзручніший метод.

Припустимо, така ситуація:

Як видалити лист в Excel

Як видалити 1 аркуш:

  • Правою кнопкою мишки на потрібний аркуш;

Як видалити лист в Excel

  • “Видалити”;

Як видалити лист в Excel

  • Підтвердіть.

Як видалити лист в Excel

Не обов'язково відкривати аркуш, який ви збираєтесь видалити.

Також можна видалити кілька листів, тільки для початку виділіть їх (за допомогою CTRL).

Наприклад, нам потрібно видалити перший, другий та третій аркуші. Затискаємо CTRL і клацаємо за назвами цих аркушів, цим виділяючи. А потім тиснемо праву кнопку мишки та «Видалити».

Але не забувайте, що всі аркуші видалити не можна. Один обов'язково має залишитися.

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

Тут у нас комбінація навіть одна, розглянемо все.

Миша + гарячі клавіші

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

Виділяємо потрібні аркуші, клацаємо правою кнопкою мишки на них і тиснемо «D».

На мій погляд, це набагато швидше, ніж просто користуватися мишкою. Особливо якщо вам потрібно видаляти багато аркушів.

Просте поєднання клавіш

ALT+H+D+S.

Ця комбінація робить те саме — видаляє аркуш.

Але в цьому способі є мінус, він видаляє лише активний аркуш. Тобто якщо потрібно видалити кілька, доведеться натискати комбінацію стільки разів, скільки потрібно видалити аркушів.

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

Раніше в Excel для видалення листів використовувалася така комбінація:

ALT+E+L.

І щоб не заважати користувачам працювати, розробники не прибрали можливості використовувати її. Загалом, тут вже на ваш вибір, вона робить те саме, що і комбінація розглянута в минулому розділі.

Видаляємо активний лист за допомогою 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

Як видалити всі аркуші, крім активного за допомогою 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 Опис “*” & “Продажі” & “*” Then MsgBox ws.Name ws.Delete End If Next ws Application.DisplayAlerts = True End Sub

Що робить цей код?

Він проходить по кожному аркушу і перевіряє, чи є в назві аркуша вказаний у коді рядок («Продаж»).

Якщо є – видаляє лист. А якщо ні, то переходить до наступного аркуша.

Якщо вам потрібен інший рядок – просто поміняйте його в коді.

Також код можна модифікувати, наприклад:.

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

Якщо ми будемо використовувати такий рядок для перевірки в назві аркуша, то початок аркуша завжди буде «Продаж» і ніяк інакше.

Отже, ми розглянули багато методів видалення аркушів Excel. Як зробити це за допомогою мишки, гарячих клавіш, а також розглянули використання Visual Basic у різних ситуаціях.

Сподіваюся, ця стаття виявилася корисною для вас!

nBook
Додати коментар