[엑셀 VBA] AdvancedFilter사용하여 중복 제거

2021. 1. 18. 00:41업무 스킬/Excel VBA

728x90

나다 윤대리..

어차피 조회수도 안 나오는데 존댓말은 개나 주고

평소 내 말투대로 하겠다.

 

시작한다.

 

그동안 중복제거는 원본을 복사하고

또, [Removeduplcates]를 사용하여 다시 그것을 복사해서 사용하는

개 뻘짓을 했다.

 

드디어 새로운 중복제거 방식을 배워 공유한다.

 

[AdvancedFilter]를 사용하는 방법이다.

말 그대로 고오오급 필터이다.

 

내 사랑 고급 필터..

 

사용법은 간단하다.

아 물론 이미 숙지한 나한테만 >_<

처음 보는 너는 개 어렵겠지 엌ㅋㅋ

자 위의 예시에는, 

대한민국의 여러분들이

중복되어 쓰여 있다.

 

원본은 그대로 놔두고

고윳값만 내가 원하는 곳에 적어보도록 하자

 

우선 [AdvancedFilter]의 양식을 알아보자

내가 이렇게 친절하다.

 

Range.AdvancedFilter([Action], [CreterialRange], [CopyToRange], [Unique])

 

이렇게 되어있다.

내가 설정한 [Range][AdvancedFilter]을 입력 후

방식을 적어주면 된다

이 포스팅에서는 "중복""복사"만 다룰 거기 때문에

이 사랑스러운 고급 필터에 대해선

다음 포스팅에서 더 자세히 알아보도록 하자

 

①Action :=xlFilterCopy

②CopyToRange:= "복사할 Cell"

③Unique:= True

 

이 3개가 이번 포스팅의 핵심이다.

 

①Action := xlFilterCopy

말 그대로 필터 된 내용을 복사할 거다.

②CopyToRange 내가 어디로 복사할지 정하면 된다.

③Unique:= True

이게 중요하지 자 필터 내용이 Unique 하냐

당연 True 지

 

이렇게 까지 했는데 못 알아들었으면

VBA를 포기하는 게 모두에게 이롭다.

 

자 아래는 아름답게 작성한

나의 매크로 문을 보자

 

내가 [Paste_Rng]로 지정 해놓은 위치에

중복이 제거된 값이 붙어있는 게 보인다.

짜릿하다....

 

난 왜 그동안 그 수많고 복잡하기 그지없는

코드로 중복제거를 했을까

야속하다.... 

 

이 포스팅으로 깨달음을 얻었으면

감사하다고 댓글이라도 박고 가라

 

그게 정이다.

 

728x90