Excel删除以前创build的工作表

我有一个macros,我已经设置了通过多种sorting和filter,并在每个步骤结束时创build一个新的工作表,并粘贴过滤的信息。

当我希望这个人能够用一组新的数据使用同一个工作簿时,我想让macros开始删除所有先前创build的工作表。

我已经尝试过所有删除工作表,但不能删除“P高Offstd”代码的多种样式。

我已经尝试调整删除的顺序以及各种方法来删除工作表,但它拒绝删除该工作表。

我甚至试着改名为Processing High Offstd。 任何援助将是有益的。

Application.ScreenUpdating = False For Each Sheet In ActiveWorkbook.Worksheets If Sheet.Name = "Processing 0% Performance" Then Application.DisplayAlerts = False Worksheets("Processing 0% Performance").Delete Application.DisplayAlerts = True End If Next Sheet For Each Sheet In ActiveWorkbook.Worksheets If Sheet.Name = "Processing 0 OnStd" Then Application.DisplayAlerts = False Worksheets("Processing 0 OnStd").Delete Application.DisplayAlerts = True End If Next Sheet For Each Sheet In ActiveWorkbook.Worksheets If Sheet.Name = "P High OffStd" Then Application.DisplayAlerts = False Worksheets("P High OffStd").Delete Application.DisplayAlerts = True End If Next Sheet For Each Sheet In ActiveWorkbook.Worksheets If Sheet.Name = "Processing Low Performance" Then Application.DisplayAlerts = False Worksheets("Processing Low Performance").Delete Application.DisplayAlerts = True End If Next Sheet With ActiveWorkbook.Worksheets("Processing") .Range("AA1:AZ" & .Range("AA1").End(xlDown).Row).ClearContents .Range("C3:C" & .Range("C3").End(xlDown).Row).ClearContents .Range("E3:E" & .Range("E3").End(xlDown).Row).ClearContents End With 

您的代码可以简化为

 With Application .ScreenUpdating = False .DisplayAlerts = False End With For Each Sheet In ActiveWorkbook.Worksheets If Sheet.Name = "Processing 0% Performance" Or Sheet.Name = "Processing 0 OnStd" _ Or Sheet.Name = "P High OffStd" Or Sheet.Name = "P High OffStd" Or Sheet.Name = "Processing Low Performance" Then Sheet.Delete Next Sheet With ActiveWorkbook.Worksheets("Processing") .Range("AA1:AZ" & .Range("AA1").End(xlDown).Row).ClearContents .Range("C3:C" & .Range("C3").End(xlDown).Row).ClearContents .Range("E3:E" & .Range("E3").End(xlDown).Row).ClearContents End With With Application .DisplayAlerts = True .ScreenUpdating = True End With