分享

VBA Excel 高级筛选AdvancedFilter应用实例总结

 JT_man 2016-10-30
最近在网上找到了一些比较好的关于AdvancedFilter应用的例子,总结和分享如下:

expression.AdvancedFilter(ActionCriteriaRangeCopyToRangeUnique)

expression      必需。该表达式返回“应用于”列表中的对象之一。

Action     XlFilterAction 类型,必需。

XlFilterAction 可为以下 XlFilterAction 常量之一。
xlFilterCopy
xlFilterInPlace

CriteriaRange      Variant 类型,可选。条件区域。如果省略本参数,则没有条件限制。

CopyToRange      Variant 类型,可选。如果 Action 为 xlFilterCopy,则本参数指定被复制行的目标区域。否则忽略本参数。

Unique      Variant 类型,可选。如果为 True,则重复出现的记录仅保留一条;如果为 False,则筛选出所有符合条件的记录。默认值为 False

例子:(看附件)

VBA <wbr>Excel <wbr>高级筛选AdvancedFilter应用实例总结

Sub Macro1()

    Range("A1:D12").Select

    Range("A1:D12").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _

        "F5:I6"), CopyToRange:=Range("K1"), Unique:=False

End Sub

总结:

在条件设定中:

1. 同一行的各条件是“and”的关系

2.不同行间是“or”的关系

3. 条件列标题要和原来表格的一致

4. VBA条件范围时要注意,在选定多行范围时,空单元格也是一个条件, 如本例,如果只选定“F5I6”,那只有“F6and "G6"的共同条件, 但如果选F5I7”,而第7行为空,则在以上条件下,还要考虑 or ""的条件 (相当于全选)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多