Gå til hovedindhold

Hvordan slettes regneark baseret på celleværdi i Excel?

Hvis jeg antager, at jeg har flere regneark i en projektmappe, vil jeg nu slette arkene baseret på celleværdi. For eksempel, hvis den specifikke celle A1 indeholder teksten "KTE", skal alle de ark, som celle A1 har denne tekst, slettes på én gang. Denne artikel kan hjælpe dig med at håndtere denne opgave i Excel.

Slet regneark baseret på celleværdi med VBA-kode


pil blå højre boble Slet regneark baseret på celleværdi med VBA-kode

Her vil jeg introducere en kode for dig til at slette alle ark, som den specifikke celle har en bestemt værdi, gør venligst som følger:

1. Hold nede i ALT + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.

2. Klik indsatte > Moduler, og indsæt følgende kode i Moduler Vindue.

VBA-kode: Slet regneark baseret på celleværdi:

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

Bemærk: I ovenstående kode, A1 er den specifikke celle, som indeholder bestemt tekst, som du vil slette arkene baseret på.

3. Tryk derefter på F5 tasten for at køre denne kode, og en promptboks vises for at minde dig om at indtaste den specifikke værdi, som du vil slette arkene baseret på, se skærmbillede:

doc slet ark ved celle 1

4. Og klik derefter på OK knappen, er alle de ark, som celle A1 har teksten KTE, blevet slettet på én gang. Se skærmbillede:

doc slet ark ved celle 2

Bedste kontorproduktivitetsværktøjer

🤖 Kutools AI Aide: Revolutionér dataanalyse baseret på: Intelligent udførelse   |  Generer kode  |  Opret brugerdefinerede formler  |  Analyser data og generer diagrammer  |  Aktiver Kutools funktioner...
Populære funktioner: Find, fremhæv eller identificer dubletter   |  Slet tomme rækker   |  Kombiner kolonner eller celler uden at miste data   |   Runde uden formel ...
Super opslag: VLookup med flere kriterier    Multiple Value VLookup  |   VOpslag på tværs af flere ark   |   Fuzzy Lookup ....
Avanceret rulleliste: Opret hurtigt rulleliste   |  Afhængig rulleliste   |  Multivælg rulleliste ....
Column Manager: Tilføj et bestemt antal kolonner  |  Flyt kolonner  |  Skift synlighedsstatus for skjulte kolonner  |  Sammenlign områder og kolonner ...
Fremhævede funktioner: Grid fokus   |  Designvisning   |   Stor Formel Bar    Arbejdsbog & Ark Manager   |  Ressourcebibliotek (Autotekst)   |  Datovælger   |  Kombiner regneark   |  Krypter/Dekrypter celler    Send e-mails efter liste   |  Superfilter   |   Specielt filter (filter fed/kursiv/gennemstreget...) ...
Top 15 værktøjssæt12 tekst Værktøjer (tilføje tekst, Fjern tegn, ...)   |   50 + Chart Typer (Gantt kort, ...)   |   40+ Praktisk formler (Beregn alder baseret på fødselsdag, ...)   |   19 Indsættelse Værktøjer (Indsæt QR-kode, Indsæt billede fra sti, ...)   |   12 Konvertering Værktøjer (Tal til ord, Valutaomregning, ...)   |   7 Flet og del Værktøjer (Avancerede kombinere rækker, Opdel celler, ...)   |   ... og mere

Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid.  Klik her for at få den funktion, du har mest brug for...

Beskrivelse


Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!
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