我有下表:
以下代码(过滤此表):
Sub testFilter()
Dim tbl As ListObject
Dim filteredRange As Range
Set tbl = Sheet1.ListObjects("testTbl")
tbl.Range.AutoFilter Field:=2, Criteria1:=Array("a", "b")
On Error Resume Next
Set filteredRange = tbl.ListColumns("status").DataBodyRange.SpecialCells(xlVisible)
On Error GoTo 0
If filteredRange Is Nothing Then
'do something
Else
Debug.Print filteredRange.Address
End If
End Sub
我希望filteredRange 什么都不是。但这不是什么,它打印的地址是: $1:$1,$3:$1048576 这基本上是我在表格中的一行旁边的整个工作表。
我究竟做错了什么?我需要能够检测到过滤器没有给出任何结果。
