当我们在Excel中进行自动筛选后,有时需要知道筛选后所保留的行(记录)数。可以用下面的几种方法:
??? 1.直接在任务栏中查看:
??? 当进行自动筛选后,Excel任务栏的左下角可以看到类似下图所示的提示:
???
??? 还可以选择筛选区域中的某一列,选择时不包括标题行,可以在任务栏的右边看到类似“计数=2”的字样。要在任务栏中显示计数数量,先必需鼠标右击任务栏,在弹出的快捷菜单中选择“计数”。
???
??? 2.使用SUBTOTAL函数:
??? 假如要在A1:A50区域中进行筛选,第一行为标题行,可以用下面的公式获取筛选后的记录数:
??? =SUBTOTAL(3,A2:A50)
??? 其中第一个参数3指定用COUNTA函数进行分类汇总。
??? 3.使用VBA代码:
??? 还可以用VBA代码来获取筛选后的记录数,代码如下:
Sub Filter_Return()
??? Selection.CurrentRegion.Select
??? '确定选择区域中除标题外的总行数
??? TotalRows = Selection.Rows.Count - 1
??? DispRows = 0
??? HideRows = 0
???
??? While Not IsEmpty(ActiveCell)
??????? ActiveCell.Offset(1, 0).Select
??????? If ActiveCell.RowHeight = 0 Then
??????????? HideRows = HideRows + 1
??????? Else
??????????? DispRows = DispRows + 1
??????? End If
??? Wend
??? If TotalRows = HideRows Then
??????? MsgBox "未找到任何记录"
??? Else
??????? MsgBox "所选择的区域有" & DispRows - 1 & "条记录"
??? End If
End Sub
??? 使用方法是,选择筛选区域中的某个单元格,然后运行代码,Excel会在消息框中给出筛选后的记录数,注意该记录数不包括标题行。
……