繁体   English   中英

按变量 vba 的命名范围定义数组

[英]Define Array by named range for variant vba

我有下面的 VBA,它循环遍历 array() 公式中的所有命名选项卡。 我希望它是一个动态范围,而不是将值输入到 array() 中,而是引用工作表中具有这些值的范围,并且当我添加更多值时它是动态的

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

谢谢!

如果工作表名称列表存储在从 A1 开始的工作表“配置”上:

Sub Filter_To_Send()

    Dim c As Variant
    Dim rngSheets As Range

    With Sheets("Config")
        Set rngSheets = .Range(.Range("A1"), .Cells(.Rows.Count, 1).End(xlUp))
    End with


    For Each c In rngSheets.Cells
        With Worksheets(c.Value)
            .Range("A5").AutoFilter field:=16, Criteria1:="<>0"
        End With
    Next c

End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM