Nie można usunąć wszystkich rodzajów modułów, nie można usunąć codemodules dla arkuszy roboczych,
wykresy i ThisWorkbook. W tych modułach musisz usunąć zawartość zamiast samego modułu:
Sub DeleteModuleContent(ByVal wb As Workbook, _ ByVal DeleteModuleName As String) ' usuwa zawartość DeleteModuleName w wb ' użyj tego, jeśli nie możesz usunąć modułu On Error Resume Next With wb.VBProject.VBComponents(DeleteModuleName).CodeModule .DeleteLines 1, .CountOfLines kończą się na błąd GoTo 0 End Sub
Przykład:
DeleteModuleContent ActiveSkoroszyt, "Arkusz1"