当没有值时,为什么我的小计代码计数为1?

时间:2019-01-17 20:58:30

标签: excel vba count subtotal

因此,我正在运行一个过滤我的数据的代码,然后对数据进行计数并将其插入到excel文件中。我正在使用以下代码对数据进行计数:

lastrow = Cells(Rows.count, "A").End(xlUp).Row
count = Application.WorksheetFunction.Subtotal(3, Range("A2:A" & lastrow))

出于某种原因,当我过滤数据时,除了位于第一行的第一行之外,没有可见的值,它给我的值为1而不是0。为什么这样做的任何想法?

谢谢

1 个答案:

答案 0 :(得分:2)

这也是我前一段时间也发现的一件有趣的事情。发生的情况是,A列为空白(或只是过滤为出现出现空白)lastrow = 1,这意味着您要汇总的范围为Range("A2:A1")

例如,测试:

Debug.Print Application.WorksheetFunction.Subtotal(3, Range("A2:A1"))