2016-11-14 69 views
0

我試圖將非重複值從一張紙複製並粘貼到另一張紙上。我需要複製並粘貼公式列中的唯一值。我嘗試從堆棧交換的代碼下面,但它只適用於非公式列。我如何從公式列複製粘貼非重複值?只從公式列中複製和粘貼非重複值

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 

回答

3

嘗試將其粘貼爲值:

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 
0

如果要考慮非公式值形成工作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