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

Jak usunąć arkusz roboczy na podstawie wartości komórki w programie Excel?

Przypuśćmy, że mam wiele arkuszy w skoroszycie, teraz chcę usunąć arkusze na podstawie wartości komórki. Na przykład, jeśli konkretna komórka A1 zawiera tekst „KTE”, wszystkie arkusze, których komórka A1 zawiera ten tekst, muszą zostać usunięte naraz. Ten artykuł może pomóc w rozwiązaniu tego zadania w programie Excel.

Usuń arkusz roboczy na podstawie wartości komórki z kodem VBA


strzałka niebieski prawy bąbelek Usuń arkusz roboczy na podstawie wartości komórki z kodem VBA

Tutaj wprowadzę kod, aby usunąć wszystkie arkusze, których dana komórka ma określoną wartość, wykonaj następujące czynności:

1. Przytrzymaj przycisk ALT + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.

2, Kliknij wstawka > Modułi wklej następujący kod w Moduł Okno.

Kod VBA: Usuń arkusz roboczy na podstawie wartości komórki:

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

Uwagi: W powyższym kodzie, A1 to konkretna komórka zawierająca określony tekst, na podstawie którego chcesz usunąć arkusze.

3. Następnie naciśnij F5 klucz do uruchomienia tego kodu i pojawi się okno zachęty przypominające o wprowadzeniu określonej wartości, na podstawie której chcesz usunąć arkusze, patrz zrzut ekranu:

doc usuń arkusz według komórki 1

4. A następnie kliknij OK przycisk, wszystkie arkusze, których komórka A1 ma tekst KTE, zostały usunięte naraz. Zobacz zrzut ekranu:

doc usuń arkusz według komórki 2


Najlepsze narzędzia biurowe

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
officetab dół
Sortuj komentarze według
Komentarze (4)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
szybkie pytanie, powyższy kod działa dla mnie w przypadku usuwania arkuszy roboczych zawierających wprowadzoną wartość, ale co, jeśli chcę usunąć arkusze robocze, które nie zawierają wprowadzonej wartości. Próbowałem zastąpić operator „=” operatorem <>, ale to nie działa.Dzięki!
Ten komentarz został zminimalizowany przez moderatora na stronie
Ankur,
Jak powiedziałeś, wystarczy zmienić "=" na " <>" jak poniżej kod:

Sub usuńarkusz po komórce()
Dim shName jako ciąg
Dim xName jako ciąg
Dim xWs jako arkusz roboczy
Dim cnt jako liczba całkowita
shName = Application.InputBox("Wprowadź tekst, nie usuwając arkuszy na podstawie:", "Kutools for Excel", _
"", , , , , 2)
Application.DisplayAlerts = False
liczba = 0
Dla każdego xWs w ThisWorkbook.Sheets
If xWs.Range("A1").Value <> shName Wtedy
xWs.Usuń
cnt = cnt + 1
End If
Następny xWs
Application.DisplayAlerts = True
MsgBox „Usunąłem” i cnt i „arkusze robocze”, vbInformation, „Kutools for Excel”
End Sub

Spróbuj, mam nadzieję, że może ci to pomóc!
Ten komentarz został zminimalizowany przez moderatora na stronie
Dzień dobry,
Czy możesz mi powiedzieć, czy istnieje sposób, aby automatycznie odpowiedzieć tak, gdy pojawi się monit o usunięcie arkusza? Dziękuję Ci bardzo.
Ten komentarz został zminimalizowany przez moderatora na stronie
Witam ponownie, nieważne na moje ostatnie pytanie. Dodałem następujące przed i po wierszu Usuń:Application.DisplayAlerts = False
Application.DisplayAlerts = True

Nie ma tu jeszcze żadnych komentarzy
Zostaw swój komentarz
Publikowanie jako gość
×
Oceń ten post:
0   Postacie
Sugerowane lokalizacje

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL