2015-03-30 57 views
0

當我使用下面的代碼將a列中的唯一值粘貼到b時,列a中的第一個值始終在列b的末尾重複。Unique:= Range.AdvancedFilter方法中的True參數不能正常工作

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的順序,但仍然是第一個值重複。

回答

1

看起來,第一個test1正被視爲列標題標籤。發生這種情況時,它不被視爲數據集的一部分。唯一的記錄正在被正確複製,但只有Excel正確定你的數據範圍。

Range.AdvancedFilter Method

摘錄:

「首先,一個頭將作爲提取物的一部分。如果數據不具有標題時,Excel/VBA會親切地添加一個給你:它採用所以,如果你有Unique:= True,不,你不會瘋狂地看到double,並且是的,Excel/VBA工作正常(畢竟,第一個值是標題,而不是數據,所以你的問題是什麼?!?)。「