基于给定的条件区域从数据清单中筛选或复制数据。
expression.AdvancedFilter(Action, CriteriaRange, CopyToRange, Unique)
expression 必需。该表达式筛选或复制的数据对象
Action XlFilterAction 类型,必需。内容可以是以下2种:
xlFilterCopy 表示将筛选结果复制到其他位置
xlFilterInPlace 表示将筛选结果显示在原数据位置,即上面的expression
CriteriaRange Variant 类型,可选。条件区域。如果省略本参数,则没有条件限制。
CopyToRange Variant 类型,可选。如果 Action 为 xlFilterCopy,则本参数指定被复制行的目标区域。否则忽略本参数。
Unique Variant 类型,可选。如果为 True,则重复出现的记录仅保留一条;如果为 False,则筛选出所有符合条件的记录。
默认值为 False。
注意:
1.在选定筛选或复制的数据对象时,一定要将第一行的标题栏也包含其中,否则AdvancedFilter方法会自动将第一条数据作为标题栏.
示例如下:
VBA宏:
Sheet10.Range("B3:F1000").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sheet12.Range( _
"D1:E2"), CopyTORANGE:=Sheet12.Range("BJ8:BN8"), Unique:=False
筛选对象 B3:F1000
筛选条件 D1:E2
注意:筛选条件"商务代表客户"的条件为空,即在筛选时无视"商务代表客户"条件
筛选结果\复制到目标位置 BJ8:BN8