使用独特的过滤(VBA)时,首先值两次

我已经制作了一个非常简单的Visual Basic脚本,它使用Excel中的高级筛选器function将唯一值从一张表中的一列复制到另一张表中的一列。 它在所有的值都很好,除了第一个出现两次。 谁能告诉我这个故障的原因? 我试着手动使用filter,结果相同。

Sub getUniqueRuns() Sheets(2).Range("C2:C65536").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Sheets(5).Range("A2"), Unique:=True End Sub 

AdvancedFilter使用范围的第一行作为标题,然后从范围的其余部分提供区分值。 由于您已经提供第2行作为第一行,它将使用此作为标题,然后行3以上作为数据。 结果你得到重复。 我build议你改变你的范围到下面,然后复制标题。

 Sub getUniqueRuns() Sheets(2).Cells.Clear Sheets(2).Range("C1:C65536").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Sheets(5).Range("A1"), Unique:=True End Sub