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

Jak usunąć arkusz, jeśli nazwy arkusza nie ma na liście?

Powiedzmy, że mam arkusz roboczy zawierający listę nazw arkuszy w skoroszycie w kolumnie A, jak pokazano na poniższym zrzucie ekranu, a niektóre nazwy arkuszy w skoroszycie nie znajdują się na liście, teraz chcę usunąć arkusze, których nie ma na liście w kolumnie A. Jak mogę szybko i łatwo rozwiązać to zadanie w programie Excel?

doc usuń arkusza nie ma na liście 1

Usuń arkusze, które nie znajdują się na określonej liście z kodem VBA


strzałka niebieski prawy bąbelek Usuń arkusze, które nie znajdują się na określonej liście z kodem VBA

Zwykle można sprawdzać nazwy arkuszy jeden po drugim i usuwać je, których nie ma na liście nazw arkuszy. Ale tutaj mogę porozmawiać o kodzie VBA, aby sobie z tym poradzić. Wykonaj następujące czynności:

1. Przejdź do arkusza, który zawiera listę nazw arkuszy, a następnie przytrzymaj klawisz ALT + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.

2. Następnie kliknij wstawka > Modułi wklej następujący kod w Moduł Okno.

Kod VBA: Usuń arkusze, których nie ma na liście

Sub Deletenotinlist()
'Updateby Extendoffice
    Dim i As Long
    Dim cnt As Long
    Dim xWb, actWs As Worksheet
    Set actWs = ThisWorkbook.ActiveSheet
    cnt = 0
    Application.DisplayAlerts = False
    For i = Sheets.Count To 1 Step -1
        If Not ThisWorkbook.Sheets(i) Is actWs Then
            xWb = Application.Match(Sheets(i).Name, actWs.Range("A2:A6"), 0)
            If IsError(xWb) Then
                ThisWorkbook.Sheets(i).Delete
                cnt = cnt + 1
            End If
        End If
    Next
    Application.DisplayAlerts = True
    If cnt = 0 Then
        MsgBox "Not find the sheets to be seleted", vbInformation, "Kutools for Excel"
    Else
        MsgBox "Have deleted" & cnt & "worksheets"
    End If
End Sub

Uwagi: W powyższym kodzie, A2: A6 to odwołanie do komórki, które zawiera nazwy arkuszy, możesz je zmienić według potrzeb.

3. A następnie naciśnij F5 klucz do uruchomienia tego kodu, arkusze, których nie ma na liście, zostały natychmiast usunięte, patrz zrzut ekranu:

doc usuń arkusza nie ma na liście 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
Cześć,


Moja lista nazw arkuszy to tylko liczby, a ten kod nadal usuwa wszystkie nazwy arkuszy, które są tylko numerami, tj. Mam arkusze o nazwach „1”, „2” i „3”, a moja lista to tylko 1 i 3, zamiast usuwania arkusza "2" usuwa wszystkie numerowane arkusze. Jeśli nazwa arkusza zawiera jakiekolwiek litery, kod działa poprawnie. Czy ktoś może pomóc?!
Ten komentarz został zminimalizowany przez moderatora na stronie
Jak można to zmienić, aby jeśli nazwa arkusza zawiera tekst z listy, nie usuwa go, a nie pasuje.
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć,

Kod usunął wszystkie arkusze, nawet te, które znajdują się na liście.

Czy mógłbyś zaproponować rozwiązanie?
Ten komentarz został zminimalizowany przez moderatora na stronie
Witam, nelavai
Kod działa dobrze w moim skoroszycie, czy możesz przesłać tutaj zrzut ekranu swojego problemu lub załącznik do skoroszytu? W ten sposób możemy pomóc w sprawdzeniu problemu.
Dziękuję Ci!
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