我正在使用.RemoveDuplicates代码删除重复的值,但它不会删除重复的第一行值。例如,如果John Smith是最高值,并且John Smith也出现在列表的另一行下方,则最终结果将是John Smith两次。数据每天都在变化,但是无论我尝试什么,第一行的值仍然重复。
有人可以告诉我我在做什么错吗?
LastRow = Sheets("Pipeline").Cells(Sheets("Pipeline").Rows.Count, "B").End(xlUp).Row
Sheets("Pipeline").Range("B11:B" & LastRow).AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Sheets(2).Range("D2"), Unique:=True
Range("A10").Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.AutoFilter
Range("A11").Select
LastRow2 = Sheets(2).Cells(Sheets(2).Rows.Count, "D").End(xlUp).Row
Sheets(2).Range("D2:D" & LastRow2).Copy
Sheets("Validation Data").Range("A2").PasteSpecial Paste:=xlPasteValues
Sheets("Validation Data").Range("A:A").RemoveDuplicates Columns:=1, Header:=xlYes
Application.CutCopyMode = False
高级过滤器需要列标题。因此,如果您没有标题,则Excel将假定范围内的第一个单元格为标题,并且不会在选择唯一值时包括该标题。
将范围向上扩展至B10,但请确保不要将B10空白。 B10中的所有标题都将出现在Sheet2!D2中,如果不需要,您可以在处理完成后将其删除。同样,如果B10通常为空白,则可以在应用过滤器之前先填充一些内容,然后在关闭操作之前在B10和Sheet2!D2中删除该文本。