Прескочи на основното съдържание

Как да изтрия лист, ако името на листа не е в списък?

Автор: Xiaoyang Последна промяна: 2020-08-07

Да кажем, че имам работен лист, който съдържа списък с имена на листове в работната книга в колона A, както е показано на екранната снимка по-долу, и някои определени имена на листове в работната книга не са в списъка, сега искам да изтрия листовете, които не са в списъка на колона A. Как мога да реша тази задача в Excel бързо и лесно?

doc изтриване на лист, който не е в списък 1

Изтрийте листове, които не са в конкретен списък с VBA код


стрелка син десен балон Изтрийте листове, които не са в конкретен списък с VBA код

Обикновено можете да проверявате имената на листовете едно по едно и да изтривате онези, които не са в списъка с имена на листове. Но тук мога да говоря за VBA код, който да се справи с него. Моля, направете следното:

1. Отидете до работния лист, който съдържа списъка с имена на листове, и след това задръжте натиснат ALT + F11 за да отворите Microsoft Visual Basic за приложения прозорец.

2, След това кликнете Поставете > Модулии поставете следния код в Модули Window.

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 ключ за стартиране на този код, листовете, които не са в списъка, са изтрити наведнъж, вижте екранната снимка:

doc изтриване на лист, който не е в списък 2

Най-добрите инструменти за продуктивност в офиса

🤖 Kutools AI помощник: Революционизирайте анализа на данни въз основа на: Интелигентно изпълнение   |  Генериране на код  |  Създаване на персонализирани формули  |  Анализирайте данни и генерирайте диаграми  |  Извикване на функциите на Kutools...
Популярни функции: Намерете, маркирайте или идентифицирайте дубликати   |  Изтриване на празни редове   |  Комбинирайте колони или клетки без загуба на данни   |   Кръг без формула ...
Супер търсене: VLookup с множество критерии    VLookup с множество стойности  |   VLookup в няколко листа   |   Размито търсене ....
Разширен падащ списък: Бързо създаване на падащ списък   |  Зависим падащ списък   |  Падащ списък с множество избори ....
Мениджър на колони: Добавете конкретен брой колони  |  Преместване на колони  |  Превключване на състоянието на видимост на скритите колони  |  Сравнете диапазони и колони ...
Препоръчани функции: Мрежов фокус   |  Изглед на дизайна   |   Голям формула бар    Мениджър на работни книги и листове   |  Библиотека с ресурси (Автоматичен текст)   |  Избор на дата   |  Комбинирайте работни листове   |  Шифроване/декриптиране на клетки    Изпращайте имейли по списък   |  Супер филтър   |   Специален филтър (филтър получер/курсив/зачертано...) ...
Топ 15 комплекта инструменти12 Текст Инструменти (добавяне на текст, Премахване на символи, ...)   |   50 + Графика Видове (диаграма на Гант, ...)   |   40+ Практичен формули (Изчислете възрастта въз основа на рождения ден, ...)   |   19 вмъкване Инструменти (Въведете QR код, Вмъкване на картина от пътя, ...)   |   12 Конверсия Инструменти (Числа към думи, Валутен обмен, ...)   |   7 Обединяване и разделяне Инструменти (Разширено комбиниране на редове, Разделени клетки, ...)   |   ... и още

Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!
Comments (4)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi,

The code deleted all the sheets even those that are included in the list.

Could you please suggest a solution?
This comment was minimized by the moderator on the site
Hello, nelavai
The code works well in my workbook, could you upload a screenshot of your problem or an attachment of your workbook here? So that, we can help to check the problem.
Thank you!
This comment was minimized by the moderator on the site
How could this be changed so if the sheet name contains the text in the list it does not delete them rather than if it matches.
This comment was minimized by the moderator on the site
Hi,


My list of sheet names are numbers only and this code still deletes all the sheets names which are just number i.e I have sheets named "1", "2" and "3" and my list is 1 and 3 only, instead of deleting sheet "2" it deletes all numbered sheet. If the sheet name has any letters then the code works fine. Can someone help?!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations