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

Hur tar jag bort kalkylblad baserat på cellvärde i Excel?

Antag att jag har flera kalkylblad i en arbetsbok, nu vill jag ta bort arken baserat på cellvärde. Till exempel, om den specifika cellen A1 innehåller texten "KTE", måste alla arken som cellen A1 har denna text raderas på en gång. Den här artikeln kan hjälpa dig att hantera den här uppgiften i Excel.

Ta bort kalkylblad baserat på cellvärde med VBA-kod


pil blå höger bubbla Ta bort kalkylblad baserat på cellvärde med VBA-kod

Här kommer jag att införa en kod för att ta bort alla ark som den specifika cellen har ett visst värde, gör så här:

1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

2. Klicka Insert > Modulernaoch klistra in följande kod i Modulerna Fönster.

VBA-kod: Ta bort kalkylblad baserat på cellvärde:

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

Anmärkningar: I ovanstående kod, A1 är den specifika cellen som innehåller viss text som du vill ta bort arken baserat på.

3. Tryck sedan på F5 nyckel för att köra den här koden, och en snabbruta dyker upp för att påminna dig om att ange det specifika värde som du vill ta bort arken baserat på, se skärmdump:

doc ta bort ark efter cell 1

4. Och klicka sedan på OK -knappen, har alla ark som cellen A1 har texten KTE tagits bort på en gång. Se skärmdump:

doc ta bort ark efter cell 2


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
officetab botten
Sortera kommentarer efter
Kommentarer (4)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
snabb fråga, ovanstående kod fungerar för mig för att ta bort kalkylblad som innehåller det angivna värdet, men vad händer om jag vill ta bort kalkylblad som inte innehåller det angivna värdet. Jag försökte ersätta operatorn "=" med operatorn <>", men det fungerar inte. Tack!
Denna kommentar minimerades av moderatoren på webbplatsen
Ankur,
Som du sa, du behöver bara ändra "=" till " <>" enligt nedanstående kod:

Sub deletesheetbycell()
Dim shName As String
Dim xName As String
Dim xWs Som arbetsblad
Dim cnt som heltal
shName = Application.InputBox("Skriv in texten, radera inte arken baserat på:", "Kutools för Excel", _
"", , , , , 2)
Application.DisplayAlerts = False
cnt = 0
För varje xWs i ThisWorkbook.Sheets
If xWs.Range("A1").Value <> shName Then
xWs.Ta bort
cnt = cnt + 1
End If
Nästa xWs
Application.DisplayAlerts = Sant
MsgBox "Har raderat" & cnt & "arbetsblad", vbInformation, "Kutools för Excel"
End Sub

Försök gärna, hoppas det kan hjälpa dig!
Denna kommentar minimerades av moderatoren på webbplatsen
God eftermiddag,
Kan du berätta för mig om det finns ett sätt att automatiskt svara ja när du uppmanas att ta bort arket? Tack så mycket.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej igen, strunt i min sista fråga. Jag lade till följande före och efter Radera rad:Application.DisplayAlerts = False
Application.DisplayAlerts = Sant

Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL