当你的工作表中的数据被过滤后,如何找到最后一行数据?我一直在研究特殊单元
和可见单元
,但找不到解决方案。我认为这一定是我下面的内容的某种变体:
...
With ws
LR = .Range("A" & Rows.Count).End(xlUp).Row
.Range("A1:E" & LR).AutoFilter Field:=2, Criteria1:="=4"
LRfilt = .Range("A" & Rows.SpecialCells(xlCellTypeVisible).Count).End(xlUp).Row
Debug.Print LR
Debug.Print LRfilt
End With
...
文件可以在这里找到:
wikisend.com/download/443370/FindLRFilteredData.xls
编辑:
与 Siddharth 讨论后意识到,我不想要 Last Row
属性,我需要找到可见行数的计数,这导致了下面 Sid 的解决方案......
最佳答案
过滤后,对最后一行使用相同的公式将返回最后过滤的行:
...
With ws
LR = .Range("A" & Rows.Count).End(xlUp).Row
.Range("A1:E" & LR).AutoFilter Field:=2, Criteria1:="=4"
LRfilt = .Range("A" & Rows.Count).End(xlUp).Row
Debug.Print LR
Debug.Print LRfilt
End With
...
关于vba - 从过滤范围中获取最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12586848/