한 시트에 다 불러서 한개만 있는 자료는 없애고
중복값 없애기 기능을 사용함
무식한 코딩의 좋은 예
Sub findDuplicate() Dim rnG As Range Dim rngPaste As Range Dim rngPhoneNumber As Range Dim i As Integer Application.ScreenUpdating = False '기존자료 삭제 Range("A1").CurrentRegion.Offset(1).ClearContents '각 시트 순환하면서 날짜, 매체, 성별, 주소, 이름, 연락처, 내용을 sheet1에 가져옴 For i = 1 To 3 Set rngPaste = Cells(Rows.Count, "B").End(3)(2) With Sheets(i) .Range("B4", .Cells(Rows.Count, "H").End(3)).Copy rngPaste End With Next i '복사된 시트1에서 중복된 연락처만 골라내기 Set rngPhoneNumber = Range("F2", Cells(Rows.Count, "F").End(3)).Offset(, 1) For i = Range("A1").CurrentRegion.Rows.Count To 2 Step -1 With Cells(i, "G") If WorksheetFunction.CountIf(rngPhoneNumber, .Value2) <= 1 Then .EntireRow.Delete End With Next i '중복값 제거 후 열너비 맞춤 With Range("A1").CurrentRegion .RemoveDuplicates Columns:=7, Header:=xlYes .Columns.AutoFit End With '순번 매기기 i = 1 Do While Cells(i + 1, "B") <> "" Cells(i + 1, "A") = i i = i + 1 Loop Application.ScreenUpdating = True End Sub | cs |
'VB(A)' 카테고리의 다른 글
같은 내용끼리 셀병합 (2) | 2015.09.03 |
---|---|
알파벳과 숫자의 최대값 (0) | 2015.09.01 |
설정한 시간이 되면 매크로 실행 (0) | 2015.08.18 |
셀값이 같은 행으로 정렬 (0) | 2015.08.09 |
누적되지 않는 실시간 그래프 (0) | 2015.08.09 |