AutoFilter

自动筛选是一个十分有用的功能,在数据统计和分类应用中相当方便。

其功能方法为AutoFilter.

适用于range对象和WorkSheet对象。

总得来说筛选是一个高阶应用技术,如果应用熟练,对于数据的统计工作有很大帮助。

由于工作当中应用数据里不是太大,所以在这方面平时应用不多。

这里讲一下运用代码来如何对数据表进行筛选。

excel最简单的不同数据的筛选 Excel如何进行筛选操作(1)

筛选说明

下图为例,对成绩表按姓名进行一个分类筛选,相当于一个查询功能。

实际上可以按成绩分数进行筛选,比如按90分筛选,或按60分都可以。

本例中可以自定义数据范围,也就是说可以选定要筛选哪些数据,这个都是很随意的。

然后就把姓名自动添加到左侧列表框内,选择列表框姓名就是可以显示出这个人的成绩。

其实这个筛选工作有点单一,如果是商品类数据表就更有意义。

比如要筛选出某一个商品,如手机的价格,那么就达到筛选目的了。

不过,其结果大同小异,只是换一下数据表。

excel最简单的不同数据的筛选 Excel如何进行筛选操作(2)

Range.AutoFilter方法

语法

expression.AutoFilter (Field, CriteriA1, Operator, Criteria2, SubField, VisibleDropDown)

参数说明

excel最简单的不同数据的筛选 Excel如何进行筛选操作(3)

示例

ActiveSheet.Range("A1").AutoFilter _

Field:=1, _

Criteria1:="嫦娥", _

VisibleDropDown:=False

上面例子说明,筛选当前活动工作表,从单元格 A1 开始的列表,仅显示字段 1 的值等于“嫦娥” 的条目。 并且隐藏字段 1 的下拉箭头。

如果筛选已关闭,AutoFilter属性返回 Nothing。

若要为工作表创建自动筛选对象, 必须手动或使用Range对象的**自动筛选** 方法对工作表上的区域启用自动筛选。

excel最简单的不同数据的筛选 Excel如何进行筛选操作(4)

设置筛选

Dim SR As Range Set SR = ActiveSheet.range("A1:D10") SR.AutoFilter _ field:=1, _ Criteria1:=“中国”, _ VisibleDropDown:=True '隐藏下拉箭头'筛选内容'筛选字段1

交当前工作表单元格,A1:D10区域设置为筛选区域,以第1字段为筛选条件,筛选出值为“中国”的条目来。

关闭筛选

ActiveSheet.AutoFilterMode = False '取消筛选

判断筛选

判断筛选功能是否开启,使用WorkSheet.FilterMode属性。

如果为真(TRUE)则开启,假(FALSH)关闭。

可以用下面函数进行判断。

Function getWorksheetFilterMode() As Boolean '判断表格是否开启自动筛选功能 Dim onoff As Boolean If ActiveSheet.FilterMode Then onoff = True Else onoff = False End If getWorksheetFilterMode = onoff End Function

总结

筛选功能在数据统计中应用是有独特的长处,但在数据里不大的情况下,一般的办公过程中可能应用较少。

不过也不能就不说就不用不去掌握这个功能。

学会之后会发现有其很独特的一面,操作方便简单,高效。

欢迎关注、收藏

,