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

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 Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

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!
fundul officetab
Comentarii (4)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună,


Lista mea de nume de foi sunt doar numere și acest cod încă șterge toate numele foilor care sunt doar numere, adică am foi numite „1”, „2” și „3” și lista mea este doar 1 și 3, în loc să șterg foaia „2” șterge toate foile numerotate. Dacă numele foii are litere, atunci codul funcționează bine. Poate cineva ajuta?!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Cum ar putea fi schimbat acest lucru, astfel încât dacă numele foii conține textul din listă, nu le șterge mai degrabă decât dacă se potrivește.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună,

Codul a șters toate foile chiar și pe cele care sunt incluse în listă.

Ați putea vă rog să sugerați o soluție?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, nelavai
Codul funcționează bine în registrul meu de lucru, ați putea încărca aici o captură de ecran a problemei sau un atașament al registrului de lucru? Astfel, putem ajuta la verificarea problemei.
Mulțumesc!
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL