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?
Usuń arkusze, które nie znajdują się na określonej liście z kodem VBA
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
Note: 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:
Najlepsze narzędzia biurowe
Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas. Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...
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!