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

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 orodja za pisarniško produktivnost

Kutools za Excel rešuje večino vaših težav in poveča vašo produktivnost za 80%

  • Ponovna uporaba: Hitro vstavite zapletene formule, grafikoni in vse, kar ste že uporabljali; Šifriraj celice z geslom; Ustvari poštni seznam in pošiljanje e-pošte ...
  • Vrstica Super Formula (enostavno urejanje več vrstic besedila in formule); Bralna postavitev (enostavno branje in urejanje velikega števila celic); Prilepite v filtrirani obseg...
  • Združi celice / vrstice / stolpce brez izgube podatkov; Vsebina razdeljenih celic; Združi podvojene vrstice / stolpce... prepreči podvojene celice; Primerjaj obsege...
  • Izberite Duplicate ali Unique Vrstice; Izberite prazne vrstice (vse celice so prazne); Super Find in Fuzzy Find v mnogih delovnih zvezkih; Naključna izbira ...
  • Natančna kopija Več celic brez spreminjanja sklica formule; Samodejno ustvarjanje referenc na več listov; Vstavi oznake, Potrditvena polja in še več ...
  • Izvleček besedila, Dodaj besedilo, Odstrani po položaju, Odstrani presledek; Ustvari in natisni vmesne seštevke strani Pretvarjanje med vsebino celic in komentarji...
  • Super filter (shranite in uporabite sheme filtrov za druge liste); Napredno razvrščanje glede na mesec / teden / dan, pogostost in drugo; Poseben filter s krepko, ležeče ...
  • Združite delovne zvezke in delovne liste; Spoji tabele na podlagi ključnih stolpcev; Razdelite podatke na več listov; Paketna pretvorba xls, xlsx in PDF...
  • Več kot 300 zmogljivih funkcij. Podpira Office / Excel 2007-2021 in 365. Podpira vse jezike. Enostavna uvedba v vašem podjetju ali organizaciji. 30-dnevna brezplačna preizkusna različica vseh funkcij. 60-dnevna garancija vračila denarja.
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!
dno pisarniške mize
Komentarji (4)
Ocene še ni. Bodite prvi in ​​ocenite!
Ta komentar je moderator na spletnem mestu minimiziral
hitro vprašanje, zgornja koda zame deluje za brisanje delovnih listov, ki vsebujejo vneseno vrednost, toda kaj, če želim izbrisati delovne liste, ki ne vsebujejo vnesene vrednosti. Poskušal sem zamenjati operator "=" z operatorjem <>", vendar ne deluje. Hvala!
Ta komentar je moderator na spletnem mestu minimiziral
Ankur,
Kot ste rekli, morate samo spremeniti "=" v " <>", kot je spodnja koda:

Sub deletesheetbycell()
Dim shName Kot niz
Dim xName kot niz
Dim xWs kot delovni list
Dim cnt kot celo število
shName = Application.InputBox("Vnesite besedilo, ne izbrišite listov na podlagi:", "Kutools za Excel", _
"", , , , , 2)
Application.DisplayAlerts = False
cnt = 0
Za vsak xWs v tem delovnem zvezku. Listi
If xWs.Range("A1").Value <> shName Then
xWs.Izbriši
cnt = cnt + 1
Konec Če
Naslednji xWs
Application.DisplayAlerts = True
MsgBox "Izbrisano" & cnt & "worksheets", vbInformation, "Kutools for Excel"
End Sub

Prosim poskusite, upam, da vam lahko pomaga!
Ta komentar je moderator na spletnem mestu minimiziral
Dober večer,
Ali mi lahko poveste, ali obstaja način, da se ob pozivu za brisanje lista samodejno odzovem pritrdilno? Najlepša hvala.
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni še enkrat, brez veze z mojim zadnjim vprašanjem. Pred in po vrstici Delete sem dodal naslednje:Application.DisplayAlerts = False
Application.DisplayAlerts = True

Tu še ni objavljenih komentarjev
Pustite vaše komentarje
Objava kot gost
×
Ocenite to objavo:
0   Znaki
Predlagane lokacije

Sledi nam

Copyright © 2009 - www.extendoffice.com. | Vse pravice pridržane. Poganja ga ExtendOffice. | Kazalo
Microsoft in logotip Office sta blagovni znamki ali registrirani blagovni znamki družbe Microsoft Corporation v ZDA in / ali drugih državah.
Zaščiteno s Sectigo SSL