仅从公式列中复制和粘贴非重复值

我试图从Excel中复制粘贴非重复值到另一个表。 我需要从公式列中只复制和粘贴唯一的值。 我尝试了下面的代码从堆栈交换,但它只适用于非公式列。 如何从公式列复制粘贴非重复值?

Sub CopyUnique() Dim s1 As Worksheet, s2 As Worksheet Set s1 = Sheets("Main") Set s2 = Sheets("Count") s1.Range("B:B").Copy s2.Range("A1") s2.Range("A:A").RemoveDuplicates Columns:=1, Header:=xlNo End Sub 

尝试将其粘贴为值:

 Sub CopyUnique() Dim s1 As Worksheet, s2 As Worksheet Set s1 = Sheets("Main") Set s2 = Sheets("Count") s1.Range("B:B").Copy s2.Range("A1").PasteSpecial xlPasteValues s2.Range("A:A").RemoveDuplicates Columns:=1, Header:=xlNo End Sub 

如果你想从工作表s1考虑非公式值并将其唯一值粘贴到工作表s2 ,则使用以下命令:

 Sub CopyUnique() Dim s1 As Worksheet, s2 As Worksheet Set s1 = Sheets("Main") Set s2 = Sheets("Count") s1.Range("B:B").SpecialCells(xlCellTypeConstants).Copy With s2 .Range("A1").PasteSpecial xlPasteValues .Range("A1", .Cells(.Rows.count, 1).End(xlUp)).RemoveDuplicates Columns:=1, Header:=xlNo End With End Sub