Як видалити аркуші в Excel (Ярлики + VBA)

Працюючи з Excel, більшу частину свого часу ви проводите на робочому аркуші (це область, де є всі клітинки та все, що там відбувається).

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

Excel дозволяє легко додавати кілька робочих аркушів у книгу, одночасно ви також можете легко видаляти ці аркуші.

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

Примітка: У цьому підручнику я буду використовувати слова „аркуш“ та „робочий аркуш“ як взаємозамінні. Але щоб відрізнити вас, Таблиці включатимуть як робочі аркуші, так і аркуші діаграм, але оскільки аркуші діаграм використовуються не так часто, щоразу, коли я вживаю слово аркуш, вважаю це робочим аркушем.

Видалення аркушів за допомогою опцій правою кнопкою миші

Найпростіший спосіб видалити аркуш у Excel-це використати цю просту техніку миші двома клацаннями миші.

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

Нижче наведено кроки для цього.

  1. Клацніть правою кнопкою миші на аркуші, який потрібно видалити
  2. Натисніть на опцію видалення
  3. У підказці, що з'явиться, натисніть кнопку Видалити

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

Ви також можете використовувати ту саму техніку видалити кілька аркушів одночасно.

Наприклад, якщо я хочу видалити аркуш 2 і аркуш 3 за один раз, я можу утримувати клавішу управління і натискати на аркуші 2 і аркуш3 по черзі (при цьому утримуючи клавішу управління).

Утримуючи клавішу управління, Excel дозволить мені одночасно вибрати кілька аркушів. Після того як я закінчу з вибором потрібних аркушів, я можу залишити клавішу управління. тепер я можу клацнути правою кнопкою миші на будь-якій із вибраних вкладок аркушів і натиснути на видалити.

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

Комбінації клавіш для видалення робочих аркушів

Існує не одна, а дві з половиною комбінації клавіш, які можна використовувати для видалення аркушів у Excel.

Я кажу два з половиною, тому що одним із ярликів він використовує мишу, а також клавіатуру (і все одно це швидший спосіб це зробити)

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

Клацніть правою кнопкою миші + D

Щоб видалити вибраний аркуш або аркуші, клацніть правою кнопкою миші, а потім натисніть клавішу D на клавіатурі.

Особисто я вважаю, що це набагато швидше, ніж просто використання миші для видалення робочого аркуша (як я розглянув у наведеному вище розділі)

Звичайна комбінація клавіш для видалення аркуша

ALT + H + D + S

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

Вам потрібно натискати ці клавіші послідовно (тобто одна за одною)

Хоча це може виглядати як трохи довша комбінація клавіш, але як тільки ви звикнете, це так само швидко, як і будь -яка інша техніка, описана в цьому підручнику

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

Як і всі інші, Excel також має минуле, і це не так красиво. Я говорю про епоху стилю до стрічки.

З міркувань сумісності Excel все ще дозволяє деяким із цих старих комбінацій клавіш працювати в новіших версіях. і в багатьох випадках ці попередні ярлики коротші та кращі.

На щастя, існує застаріла комбінація клавіш, яка працює для видалення аркушів у Excel

ALT + E + L

Видалення ActiveSheet за допомогою VBA

Що стосується видалення одного аркуша або декількох аркушів, краще скористатися вищезгаданими методами.

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

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

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

Нижче наведено код VBA, який видалить активний аркуш:

Sub Видалити таблицю () ActiveSheet.Delete End Sub

Якщо ви використовуєте його у безпосередньому вікні, ви можете просто скористатися наступним рядком:

ActiveSheet.Delete

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

Видалення аркуша без відображення запиту на підтвердження

Вікно з повідомленням про підтвердження є корисною функцією, яка гарантує, що у вас є можливість скасувати видалення аркуша у випадку, якщо ви запустили код випадково/помилково

Але якщо ви вже знаєте, що робите, отримання цієї підказки може викликати роздратування.

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

Sub DeleteSheet () Application.DisplayAlerts = Помилковий ActiveSheet.Delete Application.DisplayAlerts = True End Sub

У наведеному вище коді я встановив для властивості Application.DisplayAlerts значення false, що означає, що Excel не відображатиме жодних сповіщень під час роботи коду.

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

Увага: Коли ви встановите для властивості Application.DisplayAlerts значення false, Excel просто видалить аркуш, і не буде можливості його відновити. тому я раджу вам створити резервну копію перед використанням такого коду.

Видалення аркуша за назвою (якщо воно існує) за допомогою VBA

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

Наприклад, якщо у вас є аркуш із назвою "Продажі", ви можете видалити його за допомогою коду нижче:

Sub DeleteSheetByName () Sheets ("Продажі"). Видалити End Sub

Цей код видалить лише аркуш із назвою Продажі.

Це корисно, якщо у вас є робоча книга з великою кількістю аркушів, і ви не хочете переглядати всі аркуші, знайти таку з назвою sales і видалити її вручну.

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

А оскільки я не змінював властивість Application.DisplayAlert, ви побачите підказку, де вам доведеться натиснути кнопку видалити, щоб підтвердити тривалість аркуша продажів.

Якщо ви хочете видалити кілька аркушів на основі їх назви, ви також можете це зробити.

Наприклад, наведений нижче код видалить аркуші з назвою Продажі, Маркетинг, Фінанси:

Sub Видалити таблиці ("Продажі"). Видалити аркуші ("Маркетинг"). Видалити аркуші ("Фінанси"). Видалити кінець

Видалення всіх аркушів, крім активного аркуша за допомогою VBA

Якщо у вас є книга з кількома аркушами, і ви хочете видалити всі аркуші, крім активного аркуша, VBA, ймовірно, є одним із кращих методів для цього.

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

Sub DeleteSheetByName () Dim ws As Application for Sheet Application.DisplayAlerts = False Для кожного ws у таблицях If ws.Name ActiveSheet.Name Тоді ws.Delete End, якщо наступний ws Application.DisplayAlerts = True End Sub

Зауважте, що я сказав, що властивість Application.DisplayAlerts потрапляє на початок коду, оскільки я не хочу бачити підказку для кожного видаленого аркуша.

Видалити всі аркуші з певним текстовим рядком у назві

Це дещо більш просунутий варіант ефективного використання VBA при видаленні аркушів.

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

Наприклад, нижче у мене є книга, де я хочу видалити всі аркуші, у яких є текстовий рядок “Продажі”.

Нижче наведено код VBA, який би це зробив:

Sub DeleteSheetByName () Затемнення ws як робочого аркуша Application.DisplayAlerts = False Для кожного ws у таблицях If ws.Name Like "*" & "Sales" & "*" then MsgBox ws.Name ws.Delete End if Next ws Application.DisplayAlerts = True End Sub

Наведений вище код використовує оператор if-then для перегляду всіх аркушів у книзі. Він перевіряє назву всіх цих аркушів, і якщо назва містить слово «Продажі», то цей аркуш видаляється.

Якщо ви хочете змінити код і шукати будь -який інший текстовий рядок, ви можете змінити це в п’ятому рядку вищевказаного коду.

Також зверніть увагу, що я використав зірочку (*), яка є символом підстановки, по обидві сторони текстового рядка, який ми шукаємо в назві аркуша. Це гарантує, що незалежно від того, де рядок відображається в назві аркуша, він все одно буде видалений.

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

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

Якщо ws.Name, як "*" & "Продажі" & "*" Тоді

Тут я використовував символ підстановки лише після текстового напою, а не перед ним. Це переконається, що під час перевірки назв робочого аркуша лише ті, що відповідають критеріям, де термін "Продажі" знаходиться на початку імені.

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

Але якщо у вас є важка книга з великою кількістю аркушів і ви хочете швидко видалити певні види аркушів, то ви також можете скористатися VBA.

Сподіваюся, цей підручник був вам корисним.

Ви допоможете розвитку сайту, поділившись сторінкою з друзями

wave wave wave wave wave