2017-08-17 39 views
0

在过去发布的有关将唯一值从一列复制到另一个工作区的另一列中,提供的代码运行良好,但它也复制了数据的标题行。VBA从列表中提取唯一值到另一个工作表

我已经尝试了很多方法来修改代码,但在VBA方面并不出色,我无法让它工作。任何人都可以修改此代码,以便将唯一值从一列复制到除标题行之外的另一列?

Sub AdvFilter() 
    Dim ws As Worksheet, sh As Worksheet 
    Dim rng As Range, Frng As Range 

    Set ws = Sheets("Flag Update (2)") 
    Set rng = ws.Range("A1") 
    Set sh = Sheets("ICM flags") 
    Set Frng = sh.Range("A:A") 

    Frng.AdvancedFilter Action:=xlFilterCopy, copytorange:=rng, Unique:=True 

End Sub 
+0

提示:您不需要创建工作表对象'ws'和'sh',如果你没有在你的代码在其他地方使用它们......你可以使用这样的代码: 'Set rng = Sheets(“Flag Update(2)”)。Range(“A1”)' – jsotola

回答

0
Sub Module() 

Application.ScreenUpdating = False 

With Range("A1:A10") 
    .Copy .Offset(, 3) 
    .Offset(, 3).RemoveDuplicates Columns:=1, Header:=xlNo 
End With 

Application.ScreenUpdating = True 

End Sub 
+1

请为您的答案的代码添加一些解释。与纯英文描述配对时,仅有代码的答案更有用。换句话说......评论你的代码! – TylerH

相关问题