我有一个工作簿,其中有多个工作表,其名称类似于日期,例如 12-01-2015、12-02-2015,...等。我想创建一个代码,如果特定工作表的名称列在大批。 我创建了一个代码,但它不起作用。我的猜测是,这与以“If”开头的行中列出的错误陈述有关。 我真的很感激任何我出错的提示
Sub DeleteSelectedSheets()
Dim i As Long
Dim Holidays() As Variant
Holidays = Array("12-3-2015", "12-4-2015")
For Each Worksheet In ActiveWorkbook
If Worksheet(i).Name = Holidays(i) Then
Application.DisplayAlerts = False
Sheets(i).Delete
Application.DisplayAlerts = True
End If
Next
End Sub
最佳答案
Sub DeleteSelectedSheets()
Dim Holidays As Variant
Holidays = Array("Sheet1", "Sheet3", "Sheet5")
For Each Sheet In ThisWorkbook.Sheets
If UBound(Filter(Holidays, Sheet.Name)) > -1 Then
Application.DisplayAlerts = False
Sheet.Delete
Application.DisplayAlerts = True
End If
Next
End Sub
关于arrays - 如果工作表的名称属于数组,则删除工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34292962/