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

Как удалить лист, если имени листа нет в списке?

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

документ удалить лист отсутствует в списке 1

Удалите листы, которых нет в определенном списке, с кодом VBA


стрелка синий правый пузырь Удалите листы, которых нет в определенном списке, с кодом VBA

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

1. Перейдите на рабочий лист, содержащий список имен листов, а затем удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. Затем нажмите Вставить > Модулии вставьте следующий код в Модули Окно.

Код VBA: удалить листы, которых нет в списке

Sub Deletenotinlist()
'Updateby Extendoffice
    Dim i As Long
    Dim cnt As Long
    Dim xWb, actWs As Worksheet
    Set actWs = ThisWorkbook.ActiveSheet
    cnt = 0
    Application.DisplayAlerts = False
    For i = Sheets.Count To 1 Step -1
        If Not ThisWorkbook.Sheets(i) Is actWs Then
            xWb = Application.Match(Sheets(i).Name, actWs.Range("A2:A6"), 0)
            If IsError(xWb) Then
                ThisWorkbook.Sheets(i).Delete
                cnt = cnt + 1
            End If
        End If
    Next
    Application.DisplayAlerts = True
    If cnt = 0 Then
        MsgBox "Not find the sheets to be seleted", vbInformation, "Kutools for Excel"
    Else
        MsgBox "Have deleted" & cnt & "worksheets"
    End If
End Sub

Внимание: В приведенном выше коде A2: A6 - это ссылка на ячейку, которая содержит имена листов, вы можете изменить ее по своему усмотрению.

3, Затем нажмите F5 ключ для запуска этого кода, листы, которых нет в списке, были удалены сразу, см. снимок экрана:

документ удалить лист отсутствует в списке 2


Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

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

Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (4)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте,


Мой список имен листов состоит только из чисел, и этот код по-прежнему удаляет все имена листов, которые являются просто номерами, т.е. у меня есть листы с именами «1», «2» и «3», а мой список только 1 и 3, вместо удаления листа "2" удаляет весь пронумерованный лист. Если в имени листа есть какие-либо буквы, код работает нормально. Может кто-нибудь помочь?!
Этот комментарий был сведен к минимуму модератором на сайте
Как это можно изменить, чтобы, если имя листа содержало текст в списке, оно не удаляло их, а если оно соответствовало.
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте,

Код удалил все листы, даже те, что есть в списке.

Не могли бы вы предложить решение?
Этот комментарий был сведен к минимуму модератором на сайте
Привет, нелавай
Код хорошо работает в моей рабочей тетради. Не могли бы вы загрузить сюда скриншот вашей проблемы или вложение вашей рабочей тетради? Таким образом, мы можем помочь проверить проблему.
Спасибо!
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL