在 Excel 2007 年避免重复
Avoid duplicates in Excel 2007
我需要将数据从 Sheet 1 Column A
提取到 Sheet 2 Column A
。 Sheet 2
在 Column 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
我需要将数据从 Sheet 1 Column A
提取到 Sheet 2 Column A
。 Sheet 2
在 Column 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