文档介绍:Excel VBA实例教程#037:使用高级筛选获得不重复记录
在如图1所示的数据列表中,如果要将其中不重复的记录复制到另一工作表中,则可以通 过高级筛选功能实现。
图1数据列表
示例代码如下:
1. Sub Filter()
2Excel VBA实例教程#037:使用高级筛选获得不重复记录
在如图1所示的数据列表中,如果要将其中不重复的记录复制到另一工作表中,则可以通 过高级筛选功能实现。
图1数据列表
示例代码如下:
1. Sub Filter()
2.
3.
4.
5.
("A1").
Action:=xlFilterCopy, Unique:=True, _
End Sub
CopyToRange:=("A1")
复制代码
代码解析:
Filter过程使用AdvancedFilter方法对单元格A1的当前区域筛选不重复的记录,并将筛 选结果复制到工作表Sheet2中。应用于Range集合的AdvancedFilter方法语法如下: AdvancedFilter(Action, CriteriaRange, CopyToRange, Unique)
参数Action是必需的,可以为表格1所列的XlFilterAction常量之一。
XlFilterAction 常量
值
描述
xlFilterCopy
2
将筛选结果复制到其他位置
xlFilterInPlace
1
在原有区域显示筛选结果
表格 1 XlFilterAction 常量 参数CriteriaRange指定高级筛选操作的条件区域,缺省时表示没有条件限制。
参数CopyToRange表示指定被复制行的目标区域,仅当Action为xlFilterCopy时有效,否 则忽略本参数。
参数Unique指示是否选择不重复的记录,如果其值为True,则重复出现的记录仅保留一条;
如果其值为False (默认值),则筛选出所有符合条件的记录。
运行FilterUnique过程,结果如图2所示。
得到不重复记录结果