网站首页/办公软件列表/内容

如何在Excel中取得自动筛选后的记录数

办公软件2023-12-21阅读
Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款电子表格软件。直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使Excel成为最流行的个人计算机数据处理软件。

当我们在Excel中进行自动筛选后,有时需要知道筛选后所保留的行(记录)数。可以用下面的几种方法:

??? 1.直接在任务栏中查看:

??? 当进行自动筛选后,Excel任务栏的左下角可以看到类似下图所示的提示:

??? 如何在Excel中获取自动筛选后的记录数_本站

??? 还可以选择筛选区域中的某一列,选择时不包括标题行,可以在任务栏的右边看到类似“计数=2”的字样。要在任务栏中显示计数数量,先必需鼠标右击任务栏,在弹出的快捷菜单中选择“计数”。

??? 如何在Excel中获取自动筛选后的记录数_本站

??? 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会在消息框中给出筛选后的记录数,注意该记录数不包括标题行。


Excel整体界面趋于平面化,显得清新简洁。流畅的动画和平滑的过渡,带来不同以往的使用体验。

……

相关阅读