我正在尝试使用多个条件自动过滤列。自动过滤器只能处理一个数据,但不能处理多个数据。
For lb1fil = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(lb1fil) = True Then
strarray = Chr(34) & ListBox1.list(lb1fil) & Chr(34) & "," & strarray
End If
Next
Debug.Print Left(strarray, Len(strarray) - 1)
Worksheets("Result").Activate
Range("L4:L2000").AutoFilter Field:=1, Criteria1:=Array(Left(strarray,
Len(strarray) - 1)), Operator:=xlFilterValues
如果有任何替代方式或我错过的东西,请告诉我。
我在搜索SO寻求解决方案,但没有一个正在运行。
答案 0 :(得分:0)
我在RND之后得到了答案,(感谢SO)
For lb1fil = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(lb1fil) = True Then
'strarray = Chr(34) & ListBox1.list(lb1fil) & Chr(34) & ", " & strarray
strarray = strarray & "," & ListBox1.list(lb1fil)
End If
Next
Debug.Print Right(strarray, Len(strarray) - 1)
strlen = Right(strarray, Len(strarray) - 1)
Debug.Print strlen
ary = Split(strlen, ",")
Worksheets("Result").Activate
Range("L4:L2000").Select
Selection.AutoFilter
Range("L4").Activate
ActiveSheet.Range("$L$4:$L$2000").AutoFilter Field:=1, Criteria1:=Array( _
ary), Operator:=xlFilterValues
我已经使用split添加了数组,并且它有效。
请注意,解决方案来自另一个问题,解决方案不是我的。所以想分享一下。感谢强>