2017-08-16 182 views
-1

我有这个Excel VBA代码Excel VBA中复制唯一值重复的第一个值

Sub Module() 

Range("A1:A10").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("D1"), Unique:=True 

End Sub 

我希望它从A列中抓住所有的独特的价值观和在列d甩掉他们

但是,值在D1中是重复的。

enter image description here

这是为什么?如何解决?

+2

高级过滤器需要标题。它假定A1中的第一个A是一个标题,并会自动将其复制。 – SJR

回答

1

在单元格A1上方插入另一个单元格。在此框中写上“标题”或任何其他文字。将范围更改为A1:A11。这应该可以解决你的问题。

2

另一种方法,它不需要标题。

Sub Module() 

Application.ScreenUpdating = False 

With Range("A1:A10") 
    .Copy .Offset(, 3) 
    .Offset(, 3).RemoveDuplicates Columns:=1, Header:=xlNo 
End With 

Application.ScreenUpdating = True 

End Sub