Salt la conținutul principal

Cum să ștergeți foaia dacă numele foii nu se află într-o listă?

Să presupunem că am o foaie de lucru care conține o listă de nume de foi în registrul de lucru din coloana A, așa cum se arată în imaginea de mai jos, iar unele nume de foi din registrul de lucru nu sunt în listă, acum, vreau să șterg foile care nu sunt în lista coloanei A. Cum aș putea rezolva această sarcină în Excel rapid și ușor?

foaia de ștergere doc nu este în lista 1

Ștergeți foile care nu se află într-o anumită listă cu codul VBA


săgeată albastru dreapta balon Ștergeți foile care nu se află într-o anumită listă cu codul VBA

În mod normal, puteți verifica numele fișei unul câte unul și le puteți șterge pe cele care nu se află în lista cu numele foilor. Dar, aici, pot vorbi despre un cod VBA pentru a face față acestuia. Vă rugăm să faceți următoarele:

1. Mergeți la foaia de lucru care conține lista de nume a foilor, apoi țineți apăsat butonul ALT + F11 tastele pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

2. Apoi apasa Insera > Moduleși lipiți următorul cod în Module Fereastră.

Cod VBA: ștergeți foile care nu se află într-o listă

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

notițe: În codul de mai sus, A2: A6 este referința celulei care conține numele foilor, o puteți schimba în funcție de nevoile dvs.

3. Și apoi apăsați F5 tasta pentru a rula acest cod, foile care nu sunt în listă au fost șterse simultan, vezi captura de ecran:

foaia de ștergere doc nu este în lista 2

Cele mai bune instrumente de productivitate de birou

🤖 Kutools AI Aide: Revoluționați analiza datelor pe baza: Execuție inteligentă   |  Generați codul  |  Creați formule personalizate  |  Analizați datele și generați diagrame  |  Invocați funcțiile Kutools...
Caracteristici populare: Găsiți, evidențiați sau identificați duplicatele   |  Ștergeți rândurile goale   |  Combinați coloane sau celule fără a pierde date   |   Rundă fără Formula ...
Super căutare: VLookup cu mai multe criterii    VLookup cu valori multiple  |   VLookup pe mai multe foi   |   Căutare fuzzy ....
Listă derulantă avansată: Creați rapid o listă derulantă   |  Listă drop-down dependentă   |  Listă derulantă cu selectare multiplă ....
Manager de coloane: Adăugați un număr specific de coloane  |  Mutați coloanele  |  Comutați starea vizibilității coloanelor ascunse  |  Comparați intervale și coloane ...
Caracteristici prezentate: Focus pe grilă   |  Vedere de proiectare   |   Big Formula Bar    Manager registru de lucru și foi   |  Biblioteca de resurse (Text automat)   |  Data Picker   |  Combinați foi de lucru   |  Criptare/Decriptare celule    Trimiteți e-mailuri după listă   |  Super Filtru   |   Filtru special (filtrează bold/italic/barat...) ...
Top 15 seturi de instrumente12 Text Instrumente (Adăuga text, Eliminați caractere,...)   |   50+ Diagramă Tipuri de (Gantt Chart,...)   |   40+ Practic Formule (Calculați vârsta pe baza zilei de naștere,...)   |   19 inserare Instrumente (Introduceți codul QR, Inserați imaginea din cale,...)   |   12 Convertire Instrumente (Numere la cuvinte, conversie valutara,...)   |   7 Merge & Split Instrumente (Rânduri combinate avansate, Celule divizate,...)   |   ... și altele

Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp.  Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...

Descriere


Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
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