Note: The other languages of the website are Google-translated. Back to English

Як видалити аркуш на основі значення комірки в Excel?

Припустимо, у мене є кілька робочих аркушів у книзі, тепер я хочу видалити аркуші на основі значення комірки. Наприклад, якщо конкретна комірка А1 містить текст “KTE”, усі аркуші, в котрі А1 має цей текст, потрібно видалити відразу. Ця стаття може допомогти вам вирішити це завдання в Excel.

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


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

Тут я ввів код для видалення всіх аркушів, для яких конкретна комірка має певне значення, будь ласка, виконайте наступне:

1. Утримуйте клавішу ALT + F11 ключі, щоб відкрити Microsoft Visual Basic для додатків вікна.

2. Клацання Insert > Модуліта вставте наступний код у Модулі Вікно

Код VBA: Видалити аркуш на основі значення комірки:

Sub deletesheetbycell()
'Updateby Extendoffice
    Dim shName As String
    Dim xName As String
    Dim xWs As Worksheet
    Dim cnt As Integer
    shName = Application.InputBox("Input the text to delete the sheets based on:", "Kutools for Excel", _
                                    "", , , , , 2)
    Application.DisplayAlerts = False
    cnt = 0
    For Each xWs In ThisWorkbook.Sheets
        If xWs.Range("A1").Value = shName Then
            xWs.delete
            cnt = cnt + 1
        End If
    Next xWs
    Application.DisplayAlerts = True
    MsgBox "Have deleted" & cnt & "worksheets", vbInformation, "Kutools for Excel"
End Sub

примітки: У наведеному вище коді, A1 це конкретна комірка, яка містить певний текст, на основі якого ви хочете видалити аркуші.

3. Потім натисніть F5 клавішу для запуску цього коду, і з'явиться вікно запиту, щоб нагадати вам про введення конкретного значення, на основі якого ви хочете видалити аркуші, див. знімок екрана:

doc видалити аркуш по комірці 1

4. А потім клацніть OK кнопку, усі аркуші, в комірці А1 яких є текст KTE, були видалені відразу. Дивіться знімок екрана:

doc видалити аркуш по комірці 2


Найкращі інструменти для підвищення продуктивності офісу

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

  • Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
  • Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
  • Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
  • Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
  • Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
  • Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
  • Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
  • Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
  • Понад 300 потужних функцій. Підтримує Office / Excel 2007-2021 і 365. Підтримує всі мови. Легке розгортання на вашому підприємстві чи в організації. 30-денна безкоштовна пробна версія повних функцій. 60-денна гарантія повернення грошей.
вкладка kte 201905

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Коментарі (4)
Поки немає оцінок. Оцініть першим!
Цей коментар був мінімізований модератором на сайті
швидке запитання. Наведений вище код працює для мене для видалення робочих аркушів, які містять введене значення, але що, якщо я хочу видалити робочі аркуші, які не містять введеного значення. Я намагався замінити оператор "=" на оператор <>", але це не працює. Дякую!
Цей коментар був мінімізований модератором на сайті
Анкур,
Як ви сказали, вам просто потрібно змінити "=" на " <>", як у наведеному нижче коді:

Додатковий deletesheetbycell()
Dim shName як рядок
Dim xName як рядок
Dim xWs як робочий аркуш
Dim cnt як ціле число
shName = Application.InputBox("Введіть текст, не видаляйте аркуші на основі:", "Kutools для Excel", _
"", , , , , 2)
Application.DisplayAlerts = False
cnt = 0
Для кожного xWs у цьому зошиті
If xWs.Range("A1").Value <> shName Then
xWs.Видалити
cnt = cnt + 1
End If
Далі xWs
Application.DisplayAlerts = True
MsgBox "Видалити" & cnt & "worksheets", vbInformation, "Kutools for Excel"
End Sub

Будь ласка, спробуйте, сподіваюся, це допоможе вам!
Цей коментар був мінімізований модератором на сайті
Добрий день,
Чи не могли б ви сказати мені, чи є спосіб автоматично відповісти так, коли буде запропоновано видалити аркуш? Велике спасибі.
Цей коментар був мінімізований модератором на сайті
Ще раз привіт. Не зважайте на моє останнє запитання. Я додав наступне перед і після рядка Delete:Application.DisplayAlerts = False
Application.DisplayAlerts = True

There are no comments posted here yet
Залишайте свої коментарі
Публікація як гість
×
Оцініть цю публікацію:
0   Персонажі
Рекомендовані місця

Слідуй за нами

Copyright © 2009 - WWW.extendoffice.com. | Всі права захищені. На основі ExtendOffice. | Карта сайту
Microsoft та логотип Office є товарними знаками або зареєстрованими товарними знаками Microsoft Corporation у США та / або інших країнах.
Захищений Sectigo SSL