반응형
"B2" Rang에 중복 값을 제거 하는 프로그램을 만들려고 합니다.
첫번째 값과 두번째 값이 같으면 두번째 값을 삭제 하는 코드를 생성 합니다
If rng.Cells(4,"B").Value = rng.Cells(3,"B").Value Then
rng.Cells(4, "B")Delete
End If
Cells(3,"B") 값이 기준이며, Cells(4,"B") Cells(5,"B") Cells(6,"B") 순서 비교 합니다. Cells(3,"B") 값이 기준으로 비교 하였으면, Cells(4,"B") 값이 기준이면, 다시 모든 데이터를 비교 합니다. FOR 문을 2개 사용 하여 비교 할수 있습니다.
Dim rng As Range
Dim i As Integer
Dim j As Integer
Set rng = ActiveSheet.Range("B2").CurrentRegion
For i = 2 To rng.Count
For j = i + 1 To rng.Count
If rng.Cells(j).Value = rng.Cells(i).Value Then
rng.Cells(j).Delete
End If
Next j
Next i
For 문의 조건 때문에 중복데이터를 삭제 못하는 경우가 있습니다. 이때 삭제 할수 있는 방법은 위 코드를 함수로 만들고 함수안에 동일한 함수를 재 호출 하여 중복 데이터를 삭제 합니다.
▶ 자세한것은 이곳으로
'VBA Code' 카테고리의 다른 글
FOR NETX 문 응용 (0) | 2022.09.16 |
---|---|
사용자 정의 Sub 프로시저 (0) | 2022.09.15 |
배열(array) #2 (0) | 2022.09.14 |
배열(array) #1 (0) | 2022.09.07 |
VAB 딜레이 (0) | 2021.03.30 |