엑셀 VBA #48 / 중복데이터 처리_2 [VBA] - 신규항목 추출

엑셀 VBA #48 / 중복데이터 처리_2 [VBA] - 신규항목 추출


Dim ro As Range, rc As Range

Set ro = Range("A2", Range("A2").End(xlDown))
Set rc = Range("D2", Cells(Rows.Count, "D").End(xlUp))

For Each c In rc
    If Application.CountIf(ro, c) = 0 Then
        c.Resize(, 2).Copy Cells(Rows.Count, "A").End(xlUp).Offset(1) 

              ' end(xlup).offset(1) =end(3)(2)와 같음
    End If
Next

결과값



위 코드 중 'Application.CountIf(ro, c) = 0' 구문은 아래 그림 워크시트 Countif함수식을 참고하여 만든 구문임.

 

 

 

For Each c In rc
If Application.CountIf(ro, c) = 0 Then
1번 코드 : c.Resize(, 2).Copy Cells(Rows.Count, "A").End(xlUp).Offset(1) 을

2번 코드 : c.Resize(, 2).Copy Range("A12").Offset(1) 으로 대체하면 안될까.......안됨!!!!

2번 코드를 실행하면 값이 'J-1    44'만 보여짐.
이는 For Each~Next구문을 순환하면서 맨 먼저 나온 신규항목 값인 'E-1    22'이  

"Range("A12").OffSet(1)"에 의해 'J-1    44'을 대체됨

vba#48.xlsm
0.02MB

 

https://www.youtube.com/watch?v=0ZvPQ_TGcm8&list=PLfxvqpVCYZ8e0qlyc_FU46neoWjO7yTWj&index=48


  Comments,     Trackbacks
최근 작성 글
최근 작성 댓글
최근 작성 트랙백
프로필
공지사항
글 보관함
캘린더
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
TODAY TOTAL