刪除 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 列。