【问题标题】:Advanced filter error高级过滤器错误
【发布时间】:2017-04-04 13:12:04
【问题描述】:

我正在尝试创建一个唯一列表,但列表中的第一个值是空白,这似乎给我带来了问题。当我使用基本的高级过滤器时,它基本上只是将范围命名为“提取”并复制格式。所以 F2 等于“提取”,如下所示,

我已经尝试了许多使用标准范围的方法,但似乎没有任何效果。理想情况下,我希望这是 VBA 代码,但手动高级过滤器不起作用。为了澄清我正在这样搜索,

我看到一个类似的问题here,它只是不适合我。有谁知道我做错了什么?是不是“复制到新位置”选项搞砸了?理想情况下,我需要它是唯一字段,但我似乎得到了相同的结果,无论是否勾选了唯一字段框。

最终我希望这是代码,但是当我在 VBA 中运行以下代码时,我得到一个运行时错误。 Range("E2:E5").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _ "h1:h2"), CopyToRange:=Range("F2"), Unique:=True

编辑

【问题讨论】:

    标签: vba excel advanced-filter


    【解决方案1】:

    使用<> 作为排除空白的标准。

    顺便说一句,您的列表范围应该是 E1:E5 而 H1 应该是 偏移值。高级过滤器需要标题。

    【讨论】:

    • 嗨,@Jeeped,最初(玩弄其他选项)我的唯一列表之前有两个空白,但现在有了你的推荐,我得到了一个。我不明白为什么。我已经编辑了我的帖子以向您展示我的意思。如您所知,我清除了现有单元格中的所有信息,并删除了可能已创建的任何过去的命名范围。也没有公式。
    • 我可以重现您的错误(包括空格)的唯一方法是在 E2 或 E3 中放置一个空格(或一些不可见的字符,如 CHAR(10) 换行符。选择 E2:E3 并使用 Home ,编辑,清除,全部清除并再次手动运行高级过滤器。
    • 是的,就是这样。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-20
    相关资源
    最近更新 更多