在A列中查找重复项,复制行并删除它

时间:2014-10-24 10:17:38

标签: excel vba

这不应该是复杂的代码,但我是Excel VBA的新手。我尝试了许多不同的方法,导致错误,无限循环和错误的选择。

我开发了一个小代码,它在A列中找到重复项并删除其中一个重复项。

  Sub Statistique()
  Dim LastRow As Long
  Set x = ActiveWorkbook.Sheets("COPYRIGHT")
  LastRow = Range("A65536").End(xlUp).Row
  For x = LastRow To 3 Step -1
 If Application.WorksheetFunction.CountIf(Range("A3:A" & x), Range("A" & x).Text) > 1 Then
                        Range("A" & x).EntireRow.Delete
                    End If
               Next x

现在我想改进代码,方法是复制我要删除的行的非空白单元格,然后将它们粘贴到将要保留的行中。这意味着我希望将非空白单元格复制到第一个重复行的上方,与之前相同的列中。

有什么想法吗?我知道这似乎很复杂,这就是我问你的原因 提前感谢

1 个答案:

答案 0 :(得分:1)

试试这个:

Sub Statistique()

    Dim rngColA As Range

    Set rngColA = Worksheets("COPYRIGHT").Range("A1").EntireColumn
    rngColA.RemoveDuplicates 1, xlGuess

End Sub

Sub Statistique2()

    Dim rngColA As Range

    Set rngColA = Worksheets("COPYRIGHT").Cells
    rngColA.RemoveDuplicates 1, xlGuess

End Sub