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

Jak odstranit list na základě hodnoty buňky v aplikaci Excel?

Předpokládejme, že mám v sešitu více listů, teď chci odstranit listy na základě hodnoty buňky. Pokud například konkrétní buňka A1 obsahuje text „KTE“, je třeba odstranit všechny listy, které má buňka A1 tento text najednou. Tento článek vám může pomoci při řešení tohoto úkolu v aplikaci Excel.

Odstraňte list na základě hodnoty buňky pomocí kódu VBA


šipka modrá pravá bublina Odstraňte list na základě hodnoty buňky pomocí kódu VBA

Zde vám představím kód pro odstranění všech listů, které má konkrétní buňka určitou hodnotu, postupujte takto:

1. Podržte stisknuté tlačítko ALT + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2, klikněte Vložit > Modula vložte následující kód do Modul Okno.

Kód VBA: Smazání listu na základě hodnoty buňky:

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

Poznámka: Ve výše uvedeném kódu, A1 je konkrétní buňka, která obsahuje určitý text, podle kterého chcete odstranit listy.

3. Pak stiskněte tlačítko F5 klíč ke spuštění tohoto kódu a zobrazí se okno s výzvou, které vám připomene, abyste zadali konkrétní hodnotu, na základě které chcete odstranit listy, viz screenshot:

dokument odstranit list podle buňky 1

4. A pak klikněte na tlačítko OK tlačítko, všechny listy, jejichž buňka A1 má text KTE, byly odstraněny najednou. Viz snímek obrazovky:

dokument odstranit list podle buňky 2


Nejlepší kancelářské nástroje produktivity

Kutools pro Excel vyřeší většinu vašich problémů a zvýší vaši produktivitu
80%

  • Opakované použití: Rychle vložte složité vzorce, grafy a cokoli, co jste dříve používali; Šifrovat buňky s heslem; Vytvořte seznam adresátů a posílat e-maily ...
  • Super Formula Bar (snadno upravit více řádků textu a vzorce); Rozložení pro čtení (snadno číst a upravovat velké množství buněk); Vložit do filtrovaného rozsahu...
  • Sloučit buňky / řádky / sloupce bez ztráty dat; Rozdělit obsah buněk; Zkombinujte duplicitní řádky / sloupce... Zabraňte duplicitním buňkám; Porovnat rozsahy...
  • Vyberte možnost Duplikovat nebo Jedinečný Řádky; Vyberte prázdné řádky (všechny buňky jsou prázdné); Super hledání a fuzzy hledání v mnoha sešitech; Náhodný výběr ...
  • Přesná kopie Více buněk beze změny odkazu na vzorec; Automaticky vytvářet reference do více listů; Vložte odrážky, Zaškrtávací políčka a další ...
  • Extrahujte text, Přidat text, Odebrat podle pozice, Odebrat mezeru; Vytváření a tisk mezisoučtů stránkování; Převod mezi obsahem buněk a komentáři...
  • Super filtr (uložit a použít schémata filtrů na jiné listy); Rozšířené řazení podle měsíce / týdne / dne, frekvence a dalších; Speciální filtr tučnou kurzívou ...
  • Kombinujte sešity a pracovní listy; Sloučit tabulky na základě klíčových sloupců; Rozdělte data do více listů; Dávkový převod xls, xlsx a PDF...
  • Více než
    300
    výkonné funkce
    . Podporuje Office/Excel
    2007-2019 a 365
    . Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Plné funkce
    30
    -denní zkušební verze zdarma. 60denní záruka vrácení peněz.
karta kte 201905

Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu tím
    50%
    a každý den vám sníží stovky kliknutí myší!
officetab dno
Komentáře (4)
Zatím žádné hodnocení. Buďte první, kdo ohodnotí!
Tento komentář byl moderátorem webu minimalizován
rychlá otázka, výše uvedený kód mi funguje pro mazání listů, které obsahují zadanou hodnotu, ale co když chci smazat listy, které neobsahují zadanou hodnotu. Zkoušel jsem nahradit operátor "=" operátorem <>", ale nefunguje to. Díky!
Tento komentář byl moderátorem webu minimalizován
Ankur,
Jak jste řekli, stačí změnit "=" na " <>" podle níže uvedeného kódu:

Sub deletesheetbycell()
Dim shName As String
Dim xName As String
Dim xWs jako pracovní list
Dim cnt jako celé číslo
shName = Application.InputBox("Zadejte text a neodstraňujte listy na základě:", "Kutools pro Excel", _
"", , , , , 2)
Application.DisplayAlerts = False
cnt = 0
Pro každý xWs v ThisWorkbook.Sheets
If xWs.Range("A1").Value <> shName Then
xWs.Smazat
cnt = cnt + 1
End If
Další xWs
Application.DisplayAlerts = True
MsgBox "Vymazat" & cnt & "pracovní listy", vbInformation, "Kutools pro Excel"
End Sub

Zkuste to prosím, doufám, že vám to pomůže!
Tento komentář byl moderátorem webu minimalizován
Dobré odpoledne,
Můžete mi říct, zda existuje způsob, jak automaticky odpovědět ano na výzvu k odstranění listu? Děkuji mnohokrát.
Tento komentář byl moderátorem webu minimalizován
Dobrý den, na poslední otázku nezáleží. Před a za řádek Delete jsem přidal následující:Application.DisplayAlerts = False
Application.DisplayAlerts = True

Zatím zde nejsou žádné komentáře
Zanechat své připomínky
Odesílání jako host
×
Ohodnoťte tento příspěvek:
0   Postavy
Doporučená umístění

Sociální sítě

Copyright © 2009 - www.extendoffice.com. | Všechna práva vyhrazena. Poháněno ExtendOffice. | |. | Sitemap
Microsoft a logo Office jsou ochranné známky nebo registrované ochranné známky společnosti Microsoft Corporation ve Spojených státech a / nebo jiných zemích.
Chráněno Sectigo SSL