Preskoči na glavno vsebino

Kako izbrisati delovni list na podlagi vrednosti celice v Excelu?

Recimo, da imam v delovnem zvezku več delovnih listov, zdaj želim izbrisati liste na podlagi vrednosti celice. Če na primer določena celica A1 vsebuje besedilo „KTE“, je treba naenkrat izbrisati vse liste, v katerih celica A1 vsebuje to besedilo. Ta članek vam lahko pomaga pri reševanju te naloge v Excelu.

Izbrišite delovni list na podlagi vrednosti celice s kodo VBA


puščica modri desni mehurček Izbrišite delovni list na podlagi vrednosti celice s kodo VBA

Tukaj vam bom predstavil kodo, s katero boste izbrisali vse liste, za katere določena celica ima določeno vrednost.

1. Drži dol ALT + F11 tipke za odpiranje Microsoft Visual Basic za aplikacije okno.

2. Kliknite Vstavi > Moduliin prilepite naslednjo kodo v Moduli Okno.

Koda VBA: Izbrišite delovni list glede na vrednost celice:

Sub deletesheetbycell()
'Updateby Extendoffice
    Dim shName As String
    Dim xName As String
    Dim xWs As Worksheet
    Dim cnt As Integer
    shName = Application.InputBox("Input the text to delete the sheets based on:", "Kutools for Excel", _
                                    "", , , , , 2)
    Application.DisplayAlerts = False
    cnt = 0
    For Each xWs In ThisWorkbook.Sheets
        If xWs.Range("A1").Value = shName Then
            xWs.delete
            cnt = cnt + 1
        End If
    Next xWs
    Application.DisplayAlerts = True
    MsgBox "Have deleted" & cnt & "worksheets", vbInformation, "Kutools for Excel"
End Sub

Opombe: V zgornji kodi, A1 je določena celica, ki vsebuje določeno besedilo, na podlagi katerega želite izbrisati liste.

3. Nato pritisnite F5 tipko za zagon te kode in pojavilo se bo pozivno polje, ki vas bo opomnilo, da vnesete določeno vrednost, na podlagi katere želite izbrisati liste, glejte posnetek zaslona:

doc izbriši list po celici 1

4. In nato kliknite OK vsi listi, katerih celica A1 vsebuje besedilo KTE, so bili hkrati izbrisani. Oglejte si posnetek zaslona:

doc izbriši list po celici 2

Najboljša pisarniška orodja za produktivnost

Priljubljene funkcije: Poiščite, označite ali identificirajte dvojnike   |  Izbriši prazne vrstice   |  Združite stolpce ali celice brez izgube podatkov   |   Krog brez formule ...
Super iskanje: Več kriterijev VLookup    Multiple Value VLookup  |   VLookup na več listih   |   Nejasno iskanje ....
Napredni spustni seznam: Hitro ustvarite spustni seznam   |  Odvisni spustni seznam   |  Večkrat izberite spustni seznam ....
Upravitelj stolpcev: Dodajte določeno število stolpcev  |  Premakni stolpce  |  Preklop stanja vidnosti skritih stolpcev  |  Primerjaj obsege in stolpce ...
Predstavljene funkcije: Mrežni fokus   |  Pogled oblikovanja   |   Velika vrstica formule    Upravitelj delovnih zvezkov in listov   |  Knjižnica virov (Samodejno besedilo)   |  Izbirnik datuma   |  Združite delovne liste   |  Šifriranje/dešifriranje celic    Pošljite e-pošto po seznamu   |  Super filter   |   Poseben filter (filter krepko/ležeče/prečrtano ...) ...
15 najboljših kompletov orodij12 Besedilo Orodja (dodajanje besedila, Odstrani znake,...)   |   50 + Graf Vrste (Gantt Chart,...)   |   40+ Praktično Formule (Izračunajte starost glede na rojstni dan,...)   |   19 vstavljanje Orodja (Vstavite kodo QR, Vstavi sliko s poti,...)   |   12 Pretvorba Orodja (Številke v besede, Pretvorba valut,...)   |   7 Spoji in razdeli Orodja (Napredne kombinirane vrstice, Razdeljene celice,...)   |   ... in več

Napolnite svoje Excelove spretnosti s Kutools za Excel in izkusite učinkovitost kot še nikoli prej. Kutools za Excel ponuja več kot 300 naprednih funkcij za povečanje produktivnosti in prihranek časa.  Kliknite tukaj, če želite pridobiti funkcijo, ki jo najbolj potrebujete...

zavihek kte 201905


Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo

  • Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!
Comments (4)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hello again, Nevermind on my last question. I added the following before and after the Delete line:Application.DisplayAlerts = False
Application.DisplayAlerts = True

This comment was minimized by the moderator on the site
quick question, the above code works for me for deleting worksheets which contain the value which is entered, but what if i want to delete worksheets which do not contain value entered. I tried replacing the "=" operator with the <>" operator, but it does not work. Thanks!
This comment was minimized by the moderator on the site
Ankur,
As you said, you just need to change the "=" to " <>" as below code:

Sub deletesheetbycell()
Dim shName As String
Dim xName As String
Dim xWs As Worksheet
Dim cnt As Integer
shName = Application.InputBox("Input the text not delete the sheets based on:", "Kutools for Excel", _
"", , , , , 2)
Application.DisplayAlerts = False
cnt = 0
For Each xWs In ThisWorkbook.Sheets
If xWs.Range("A1").Value <> shName Then
xWs.Delete
cnt = cnt + 1
End If
Next xWs
Application.DisplayAlerts = True
MsgBox "Have deleted" & cnt & "worksheets", vbInformation, "Kutools for Excel"
End Sub

Please try, hope it can help you!
This comment was minimized by the moderator on the site
Good afternoon,
Could you tell me if there is a way to automatically respond yes when prompted to delete the sheet? Thank you very much.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations