Excel VBA实例教程 :使用高级筛选获得不重复记录
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Excel VBA实例教程#037:使用高级筛选获得不重复记录
在如图 1所示的数据列表中,如果要将其中不重复的记录复制到另一工作表中,则可以通过高级筛选功能实现。
图 1 数据列表
示例代码如下:
1.Sub Filter()
2. Sheet1.Range("A1").CurrentRegion.AdvancedFilter _
3. Action:=xlFilterCopy, Unique:=True, _
4. CopyToRange:=Sheet2.Range("A1")
5.End Sub
复制代码
代码解析:
Filter过程使用AdvancedFilter方法对单元格A1的当前区域筛选不重复的记录,并将筛选结果复制到工作表Sheet2中。应用于Range集合的AdvancedFilter方法语法如下:AdvancedFilter(Action, CriteriaRange, CopyToRange, Unique)
参数Action是必需的,可以为表格1所列的XlFilterAction常量之一。
表格 1 XlFilterAction常量
参数CriteriaRange指定高级筛选操作的条件区域,缺省时表示没有条件限制。
参数CopyToRange表示指定被复制行的目标区域,仅当Action为xlFilterCopy时有效,否则忽略本参数。
参数Unique指示是否选择不重复的记录,如果其值为True,则重复出现的记录仅保留一条;如果其值为 False(默认值),则筛选出所有符合条件的记录。
运行FilterUnique过程,结果如图 2所示。
图 2 得到不重复记录结果