RowCount = 2 ' 将筛选结果的第一行作为RowCount的初始值,这里假设为2
' 循环直至单元格为空,这时得到的RowCount的值就是最后一个筛选结果所在的行。
' RowCount - 初始行(如上面假设的2)+ 1就是所要的行数。
Do Until Cells(RowCount, Col) = ""
RowCount = RowCount + 1
Loop
行数 = RowCount -2 + 1
不知是不是楼主需要的。
当筛选结果为空时,出现了Range("a65536")End(xlUp)Row=3,小于了你的首行值4,所以你再使用Range("a4:a"
&
Range("a65536")End(xlUp)Row)也就是Range("a4:a3")就出错了。
如果修改的话你最好在使用这个range时先判断Range("a65536")End(xlUp)Row是否大于等于首行值4,只有大于等于才能用,如果小于4就说明筛选结果为空。
修改代码如下:
Dim
i
As
Integer
i
=
Range("a65536")End(xlUp)Row
If
i
<
4
Then
MsgBox
"已筛选出来的记录行数一共0行"
Else
For
Each
cel
In
Range("a4:a"
&
i)SpecialCells(xlCellTypeVisible)
MsgBox
"已筛选出来的记录行数:"
&
celRow
Next
MsgBox
"已筛选出来的记录行数一共"
&
Range("a4:a"
&
i)SpecialCells(xlCellTypeVisible)Count
&
"行"
End
If
以上就是关于请教高手,VBA 如何获取筛选后结果的行数求代码~全部的内容,包括:请教高手,VBA 如何获取筛选后结果的行数求代码~、vba 筛选后计算行数、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)