【发布时间】:2017-01-19 15:52:40
【问题描述】:
使用它们的 CodeNames 删除活动工作簿中所有工作表的最佳方法是什么,除了选定/活动工作表和 4 个指定工作表?
我想出了这段代码,它可以工作,但似乎有更好的方法来做到这一点:
Sub delete_test()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'Deletes all sheets except ActiveSheet and specified sheets using codenames
Dim ws As Worksheet
For Each ws In ThisWorkbook.Sheets
Select Case ws.CodeName
Case "Sheet1", "Sheet2", "Sheet3", "Sheet4"
Case Else
With ws
If ws.NAme <> ThisWorkbook.ActiveSheet.NAme Then
ws.Delete
End If
End With
End Select
Next
End Sub
【问题讨论】:
-
对于有效但您认为可以改进的代码,您可能会通过在Code Review 上发布此问题来获得更好的帮助。