在 Excel 2007 年避免重复

Avoid duplicates in Excel 2007

我需要将数据从 Sheet 1 Column A 提取到 Sheet 2 Column ASheet 2Column A 中已经有一些值。所以,我需要一个公式来将数据从 Sheet 1 Column A 提取到 Sheet 2。如果值已经存在,则不需要复制,如果不需要,则需要拉取数据。

例如:
Sheet 2 我写了这样一个公式:如果 ID 已经存在于 Sheet 1 中,那么会将标记添加到现有的。

Sheet 1 需要写这样的公式:如果 ID 是新的 Sheet 2 将添加 ID到带有标记的下一行。

将每两周向 Sheet 1 添加 ID 和标记。所以,我需要 Sheet 2 进行合并。在此先感谢您的帮助。

尝试

Option Explicit

Public Sub CopyUniqueOnly()

    Dim currCell As Range, dict As Object
    Set dict = CreateObject("Scripting.Dictionary")

    With ThisWorkbook.Worksheets("Sheet2")
        For Each currCell In .Range("A1", .Cells(.Rows.count, 1).End(xlUp))
            If Not dict.exists(currCell.Value) And Not IsEmpty(currCell) Then
                dict.Add currCell.Value, currCell.Value
            End If
        Next currCell
    End With

    Dim unionRng As Range

    With ThisWorkbook.Worksheets("Sheet1")
        Dim rng As Range
        For Each rng In .Range("A1", .Cells(.Rows.count, 1).End(xlUp))
            If Not dict.exists(rng.Value) And Not IsEmpty(rng) Then
                If Not unionRng Is Nothing Then
                    Set unionRng = Union(rng, unionRng)
                Else
                    Set unionRng = rng
                End If
            End If
        Next rng
    End With

    With ThisWorkbook.Worksheets("Sheet2")
        If Not unionRng Is Nothing Then unionRng.EntireRow.Copy .Cells(.Rows.count, 1).End(xlUp).Offset(1, 0)
    End With

End Sub

将所有数据从 sheet 1 复制到 sheet 2 然后只使用内置数据 > 删除重复项并指定列 A