首页 > 解决方案 > 将多个单元格复制/粘贴到 excel 列中时识别重复项

问题描述

所以我试图找到一个解决方案,我可以将多个值从一列复制粘贴到另一列,并让它忽略已经存在的重复项。

我找到了这段代码,但它只有在我一次复制粘贴一个值时才有效。

有没有办法让它工作,所以它只会粘贴在列中不存在的唯一复制值中?

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

''''''''''''''''''''''''''''''''''''''''''
'Prevents duplicate entries in Column A
''''''''''''''''''''''''''''''''''''''''''


    If Target.Cells.Count > 1 Then Exit Sub

    If Target.Column = 1 And Target <> vbNullString Then                           'Column A
        If WorksheetFunction.CountIf(Columns(1), Target) > 1 Then
            MsgBox "Entry " & Target & " already exists!", _
                vbCritical, "Dixons Travel Oslo"
            Target = ""
            Target.Select
        End If
    End If

End Sub

标签: excelvba

解决方案


也许你觉得这很有用:

下面的代码假设您只是复制所有值,即使它们已经存在。

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 1 Then
    Range("A1", Range("A1").End(xlDown)).RemoveDuplicates Columns:=1, Header:=xlNo
End If

End Sub

它看起来像这样:

在此处输入图像描述

如果这适用于您的情况,请更改Header:=xlNo为。Header:=xlYes

显然,还有其他方法。我只是觉得这很容易。


推荐阅读