Přejít k hlavnímu obsahu

Jak odstranit list, pokud název listu není v seznamu?

Řekněme, že mám list, který obsahuje seznam názvů listů v sešitu ve sloupci A, jak je uvedeno níže, a některé určité názvy listů v sešitu nejsou v seznamu, nyní chci odstranit listy, které nejsou v seznamu sloupce A. Jak mohu rychle a snadno vyřešit tento úkol v aplikaci Excel?

list pro mazání dokumentů, který není v seznamu 1

Odstraňte listy, které nejsou v konkrétním seznamu, pomocí kódu VBA


šipka modrá pravá bublina Odstraňte listy, které nejsou v konkrétním seznamu, pomocí kódu VBA

Normálně můžete zkontrolovat názvy listů jeden po druhém a odstranit ty, které nejsou v seznamu názvů listů. Ale tady můžu mluvit o kódu VBA, abych se s ním vypořádal. Postupujte prosím následovně:

1. Přejděte na list, který obsahuje seznam názvů listů, a poté podržte ALT + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2. Pak klikněte na tlačítko Vložit > Modula vložte následující kód do Modul Okno.

Kód VBA: Odstraňte listy, které nejsou v seznamu

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

Poznámka: Ve výše uvedeném kódu, A2: A6 je odkaz na buňku, který obsahuje názvy listů, můžete jej podle potřeby změnit.

3. A pak stiskněte F5 klíč ke spuštění tohoto kódu, listy, které nejsou v seznamu, byly odstraněny najednou, viz screenshot:

list pro mazání dokumentů, který není v seznamu 2

Nejlepší nástroje pro produktivitu v kanceláři

Populární funkce: Najít, zvýraznit nebo identifikovat duplikáty   |  Odstranit prázdné řádky   |  Kombinujte sloupce nebo buňky bez ztráty dat   |   Kolo bez vzorce ...
Super vyhledávání: Více kritérií VLookup    VLookup s více hodnotami  |   VLookup na více listech   |   Fuzzy vyhledávání ....
Pokročilý rozevírací seznam: Rychle vytvořte rozevírací seznam   |  Závislý rozbalovací seznam   |  Vícenásobný výběr rozevíracího seznamu ....
Správce sloupců: Přidejte konkrétní počet sloupců  |  Přesunout sloupce  |  Přepnout stav viditelnosti skrytých sloupců  |  Porovnejte rozsahy a sloupce ...
Doporučené funkce: Zaměření mřížky   |  Návrhové zobrazení   |   Velký Formula Bar    Správce sešitů a listů   |  Knihovna zdrojů (Automatický text)   |  Výběr data   |  Zkombinujte pracovní listy   |  Šifrovat/dešifrovat buňky    Odesílat e-maily podle seznamu   |  Super filtr   |   Speciální filtr (filtr tučné/kurzíva/přeškrtnuté...) ...
Top 15 sad nástrojů12 Text Tools (doplnit text, Odebrat znaky, ...)   |   50+ Graf Typ nemovitosti (Ganttův diagram, ...)   |   40+ Praktické Vzorce (Vypočítejte věk na základě narozenin, ...)   |   19 Vložení Tools (Vložte QR kód, Vložit obrázek z cesty, ...)   |   12 Konverze Tools (Čísla na slova, Přepočet měny, ...)   |   7 Sloučit a rozdělit Tools (Pokročilé kombinování řádků, Rozdělit buňky, ...)   |   ... a více

Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času.  Kliknutím sem získáte funkci, kterou nejvíce potřebujete...

karta kte 201905


Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
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