VBA에서 중복 제거

Iqra Hasnain 2023년1월30일
  1. VBA에서 중복 제거
  2. VBA에서 중복된 여러 열 제거
VBA에서 중복 제거

예제와 함께 VBA에서 중복을 제거하는 방법을 소개합니다.

VBA에서 중복 제거

대량의 데이터가 있는 Excel 시트로 작업할 때 이러한 데이터에 일부 중복이 포함될 가능성이 있습니다. 잘못된 계산을 피하기 위해 중복을 제거하는 것이 중요합니다. 이를 위해 먼저 데이터를 정리하고 중복을 제거해야 합니다. VBA는 이 용도로 사용할 수 있는 RemoveDuplicates라는 간단한 기능을 제공합니다.

먼저 데이터가 있는 범위를 선택한 다음 해당 범위에서 RemoveDuplicates 기능을 사용할 것입니다. 또한 중복을 확인해야 하는 열의 수를 정의해야 합니다. 범위에 헤더가 있는 경우 헤더도 yes로 표시해야 합니다. 예제를 통해 이 기능을 사용해보자. 먼저 아래와 같이 데모 데이터를 생성합니다.

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열을 사용할 수도 있습니다.