这种情况可能是由于代码中使用了错误的VisibleRange属性而导致的。可以通过使用SpecialCells方法来获取过滤后的可见单元格范围。下面是一个示例代码:
Sub FilteredRange() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Sheet1")
ws.Range("A1:D100").AutoFilter Field:=1, Criteria1:="value1"
If ws.AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible).Count = 1 Then
MsgBox "No rows match the filter criteria."
Else
MsgBox "Filtered range is not empty."
End If
ws.AutoFilterMode = False
End Sub
这个示例使用AutoFilter方法过滤第一列中的值为"value1"的行。然后,通过检查过滤后的可见单元格计数来判断是否存在过滤行。注:这个示例仅供参考,具体实现方式可能因具体业务需求而有所不同。
上一篇:Autofilteremptymostofthedataofmysheet
下一篇:AutoFilternotworkingasintended,copiesthewholetablecontentwhenfilterisnotexisting