首页 文章

将重复行移动到另一个工作表中

提问于
浏览
-1

我正在寻找vba代码,它应该根据所有列找到重复的行,并将这些行移动到另一个工作表 .

就像Excel removeduplicate函数一样,但我希望将重复值保存在另一个工作表中 .

任何帮助将非常感激 .

提前致谢 .

2 回答

  • 0

    此代码将基于A列在活动工作表上剪切重复行 . 它将剪切行粘贴到名为“Duplicates”的工作表中 .

    Sub CutDuplicates()
        Dim Rng As Range, i As Long
            Application.ScreenUpdating = False
            Set Rng = Range("DH2:DH" & Range("DH" & Rows.Count).End(xlUp).Row)
            For i = Rng.Rows.Count To 1 Step -1
                If Application.WorksheetFunction.CountIf(Rng, Cells(i, "DH")) > 1 Then
                  lr = Sheets("Duplicates").Cells(Rows.Count, "DH").End(xlUp).Row + 1
                  Rows(i).EntireRow.Cut Destination:=Sheets("Duplicates").Range("A" & lr)
                  Rows(i).EntireRow.Delete
                End If
            Next i
            Application.ScreenUpdating = True
        End Sub
    

    这是在50行测试表上测试的,但它也适用于较大的行工作表 .

  • 0

    我有一个巨大的数据,删除重复行我使用下面的代码 . 列号和行号始终是动态的 .

    Sub DeDupe()
    
    Dim intArray As Variant, i As Integer
    Dim rng As Range
    Set rng = ActiveSheet.UsedRange.Rows
    With rng
        ReDim intArray(0 To .Columns.Count - 1)
        For i = 0 To UBound(intArray)
            intArray(i) = i + 1
        Next i
        .RemoveDuplicates Columns:=(intArray), Header:=xlYes
    End With
    
    End Sub
    

相关问题