请教高手,VBA 如何获取筛选后结果的行数求代码~

请教高手,VBA 如何获取筛选后结果的行数求代码~,第1张

假设RowCount是行数变量,Col为筛选结果所在的列:

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 筛选后计算行数、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9296569.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存