删除 VBA 中的重复项

Iqra Hasnain 2023年1月30日 2022年7月12日
  1. 删除 VBA 中的重复项
  2. 在 VBA 中删除重复的多列
删除 VBA 中的重复项

我们将通过示例介绍如何在 VBA 中删除重复项。

删除 VBA 中的重复项

在使用包含大量数据的 Excel 工作表时,这些数据可能包含一些重复项。必须删除任何重复项以避免任何错误计算。为此,我们首先必须清理数据并删除重复项。VBA 提供了一个简单的函数,RemoveDuplicates,可用于此目的。

我们需要首先选择数据所在的范围,然后我们将在该范围上使用 RemoveDuplicates 函数。我们还需要定义必须检查多少列的重复项。如果我们在范围内有标题,我们还必须将标题标记为是。让我们通过一个示例并使用此功能。首先,我们将创建演示数据,如下所示。

用于在 VBA 中删除重复项的演示数据

让我们使用 RemoveDuplicates 函数来删除重复项。

示例代码:

# VBA
Sub duplicateRemover()
Range("A1:B*").RemoveDuplicates Columns:=1
End Sub

输出:

在 VBA 中删除重复项后的演示数据

RemoveDuplicates 方法用于范围。如果发现重复,我们可以删除任何行,但保留原始行的所有值。

RemoveDuplicates 方法仅适用于列,不适用于行。

在 VBA 中删除重复的多列

在删除重复项时,仅从一列中获取数据来删除重复项可能很危险。在一列中重复的数据在下一列中可能有不同的内容,使其成为唯一项而不是重复项。

我们可以通过数组传递多列来轻松比较 RemoveDuplicates 方法中的多列,如下所示。

用于比较 RemoveDuplcate 方法中的多列的演示数据

示例代码:

# Vba
Sub duplicateRemover()
ActiveSheet.UsedRange.RemoveDuplicates Columns:=Array(1, 2)
End Sub

输出:

在 RemoveDuplcate 方法中比较多列后的演示数据

当我们比较两列时,它只删除了基于两列重复的列,而不仅仅是一个。不需要总是按顺序提供列,我们可以按任意顺序发送我们想要比较的列,甚至可以使用第 1 列和第 5 列。