Tvé řešení opravdu není z nejúspornějších. Jestli chceš dosáhnout toho, aby se vymazaly listy, jejichž název začíná na "subkap", dá se to napsat třeba takhle:
Kód:
Public Sub Vymazat()
   Dim wksList As Worksheet
   
   For Each wksList In ActiveWorkbook.Worksheets
      If wksList.Name Like "subkap*" Then wksList.Delete
   Next wksList
End Sub
Snad to bude fungovat i v Excelu 97 (zkoušeno v 2000).