【问题标题】:Unique:=True Argument in Range.AdvancedFilter Method not working properlyUnique:=True Range.AdvancedFilter 方法中的参数无法正常工作
【发布时间】:2015-03-30 18:05:35
【问题描述】:

当我使用下面的代码将唯一值从 a 列粘贴到 b 时,a 列中的第一个值总是在 b 列的末尾重复。

Sheet1.Range("A1:A10").AdvancedFilter Action:=xlFilterCopy, _
           CopyToRange:=Sheet1.Range("B1:B10"), Unique:=True

A 列:test1,test2,test3,test1,test2,test3

B 列:test1,test2,test3,test1

如上所示,test1 正在重复。我尝试更改值,更改 a 列中的序列,但仍然重复第一个值。

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    似乎第一个 test1 被视为列标题标签。发生这种情况时,它不被视为数据集的一部分。唯一记录被正确复制,但只有在 Excel 确定您的数据范围时才能正确复制。

    摘自Range.AdvancedFilter Method

    “首先,标题将作为提取的一部分包含在内!如果数据没有标题,Excel/VBA 会为您添加一个:它采用列表中的第一项,重复它,并将副本分配为标题。所以,如果你有 Unique:=True,不,你不会因为看到 double 而发疯,是的,Excel/VBA 工作正常(毕竟,第一个值是一个 Header,不是数据,那你有什么问题?!?)。”

    【讨论】:

      猜你喜欢
      • 2013-11-26
      • 1970-01-01
      • 2014-02-22
      • 1970-01-01
      • 1970-01-01
      • 2021-08-18
      • 2016-03-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多