Excel VBA实例教程 :使用高级筛选获得不重复记录

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 得到不重复记录结果

相关文档
最新文档