1
我有下面的VBA,它遍历array()公式中的所有命名选项卡。我想这是个动态范围的,而不是键入到阵列()的值,它引用在具有这些值的工作表中的范围内,它的动态,当我添加更多定义阵列按名称范围的变体vba
Sub Filter_To_Send()
Dim WshtNames As Variant
Dim WshtNameCrnt As Variant
WshtNames = Array("RASC", "RSUV", "SBKP", "RGRN", "SBTK", "RWAS", "RABT", "RHAY", "RLEX", "RARM", "RBCK", "RBER", "RCCP", "RDAL", "RHEB", "RSST", "RMST", "RMIA", "REHV", "RNBY", "RNOF", "RUTC", "RSCS", "RSJO", "RSCQ", "RSHA", "RAWP", "SART", "SASK", "SALC", "SNHQ", "SOEX", "SPHL", "SSHP", "SMRN")
For Each WshtNameCrnt In WshtNames
With Worksheets(WshtNameCrnt)
.Range("A5").AutoFilter field:=16, Criteria1:="<>0"
End With
Next WshtNameCrnt
End Sub
谢谢!
@ tim.williams - 感谢这么多。当运行时错误'9' - 下标超出范围,当它进入“With Worksheets(c.Value)”行时。 –
这将表明在活动工作簿中没有带有该名称的工作表。你的工作表列表是否有标题?如果是,那么将'.Range(“A1”)'改为'.Range(“A2”)' –
明白了。我尝试将选项卡列表添加到现有选项卡,并将其从A1移至列表开始的位置。但是,听起来更容易拥有自己的专用选项卡。非常感谢!! –