我将继续构建与从大型机检索的数据相关的宏,类似于我之前的问题中提到的内容。
我正在生成大量工作表,使用基于此处讨论的自动过滤器标准的宏扩展。出于参考目的,此代码的精简版本如下:
Sub AddSheets()
Dim RngOne As Range, cell As Range
For Each cell In RngOne
Sheets.Add After:=Sheets(1)
Sheets(2).Select
Sheets(2).Name = cell.Value
Next
End Sub
当我处理数据集时,似乎我的用户删除导出到所选目的地后生成的工作表可能是方便的。但是,为了便于使用,我试图保留那些与我的宏相关的工作表。该OR
条件保留的纸张数量超过 2 张,出于讨论目的,最多可保留 10 张或更多。我当前的代码改编自这个网站。我还查看了这篇SO 文章。
我的代码如下:
Sub DeleteAllButNotedSheets()
Dim IndividualWorkSheet As Worksheet
Application.DisplayAlerts = False
For Each IndividualWorkSheet In ThisWorkbook.Worksheets
If IndividualWorkSheet.Name <> "Sheet1" Or "Criteria" Or "TemplateSheet" Or "TemplateSheet2" Then
IndividualWorkSheet.Delete
End If
Next
Application.DisplayAlerts = True
End Sub
目前,代码会导致类型不匹配错误。我正在寻求解决这个错误困境的方法。
除此之外,考虑到可能条件的数量,我还试图确定是否可以使用列表、集合甚至数组(给定循环)来代替巨大的OR
列表,这对我来说似乎很笨拙。我正在寻求解决方案甚至建议以开始处理此列表问题。