Użyłem trochę kodu VBA, aby przeszukać wszystkie nazwy arkuszy w skoroszycie dla określonego ciągu, nazwijmy go "Tekst". Po znalezieniu arkusza z tym ciągiem powinien usunąć ten arkusz. Ale powiedzmy, że istnieją cztery arkusze z „Tekst” w nazwie (o nazwie tekst 1, tekst 2, tekst 3 i tekst 4), zamiast usuwać wszystkie cztery, usuwa Tekst 1 i Tekst 3. Pozostawia 2 i 4 jako nieusunięte. Następnie, jeśli ponownie zadzwonię do makra, zostanie usunięte Tekst 2, ale pozostawi to Tekst 4. Wreszcie, jeśli kliknę to ponownie, usunie tekst 4. Nie mogę zrozumieć dlaczego tak wygląda, jak powinien działać.Arkusz makr VBA Excel Usuń arkusze z ciągiem
Dim i As Integer, n As Integer
n = ThisWorkbook.Worksheets.Count
i = 1
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Do
On Error Resume Next
If InStr(1, Sheets(i).Name, "Text") Then Sheets(i).Delete
On Error GoTo 0
i = i + 1
Loop Until i = n
Application.DisplayAlerts = True
Application.ScreenUpdating = True
+ 1 Nicely Done –