use*_*947 2 excel vba excel-vba
我试过很多方面,但没有一个工作,我想要做的是将数据从字符串数组传输到自动过滤器标准.我的部分代码:
crit(21) = """audi"", ""mercedes"""
Cells.Find(What:="Film", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
ActiveCell.Select
Set zasieg = Range(ActiveCell, ActiveCell.Offset(0, 15))
Selection.AutoFilter
ActiveSheet.Range("$A$1:$P$200000").AutoFilter Field:=14, Criteria1:=Array(crit(21)), Operator:=xlFilterValues
Run Code Online (Sandbox Code Playgroud)
这部分代码在循环中工作,而一些暴击(i)有5个元素.
从字符串中创建一个数组并使用该数组:
Sub dural()
Dim MyString As String, r As Range
MyString = "Larry,Moe,Curly,Shepp"
ary = Split(MyString, ",")
Set r = Range("A1:A14")
With r
.AutoFilter
.AutoFilter Field:=1, Criteria1:=(ary), Operator:=xlFilterValues
End With
End Sub
Run Code Online (Sandbox Code Playgroud)
编辑#1:
这里是替代码(你应该不使用)
Sub DontUseThisCode()
Dim MyString As String, r As Range
Dim ary(0 To 3) As String
ary(0) = "Larry"
ary(1) = "Moe"
ary(2) = "Curly"
ary(3) = "Shepp"
Set r = Range("A1:A14")
With r
.AutoFilter
.AutoFilter Field:=1, Criteria1:=(ary), Operator:=xlFilterValues
End With
End Sub
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17043 次 |
| 最近记录: |