[英]Autofilter using (Range as Criteria) works with strings , But not works with numbers (even after number converted to string)
基本上我想使用 vba Autofilter using (Range as Criteria)。
如果条件范围是明确的字符串(字符),则以下代码有效。
我已经使用 excel 接口将标准范围的格式更改为文本然后我运行我的代码,但是自动过滤的结果什么都没有。
我需要知道我的代码有什么问题以及如何解决它。
提前感谢您的所有帮助。
Sub Filter_rng_criteria()
Dim ws As Worksheet
Set ws = ActiveSheet
Dim rng As Range
Set rng = ws.Range("A2:R4605")
If Not ws.AutoFilterMode Then rng.AutoFilter 'Set AutoFilter if not already set
Dim rng_criteria As Range
Set rng_criteria = ws.Range("T2", ws.Range("T2").End(xlDown)) 'Rnage from T2 till Down
Dim arr
arr = Application.WorksheetFunction.Transpose(rng_criteria.Value) 'Range to Criteria
rng.AutoFilter Field:=1, Criteria1:=arr, Operator:=xlFilterValues
End Sub
似乎criteria
需要明确的字符串值:-/
如果你添加
Dim i As Long
For i = LBound(arr) To UBound(arr)
arr(i) = CStr(arr(i))
Next
在transpose
-row 它工作之后
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.