"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 중복 데이터 재귀 호출과 반복문 사용해서 삭제하기
VBA 에서도 재귀 호출을 사용해야 원활하게 문제를 해결할 수 있는 경우가 종종 있습니다. 그 예가 오늘 샘플로 소개할 중복 데이터 삭제 입니다. C, C++, Java 등을 다뤄 보신 분들은 한번쯤 경험이
mainia.tistory.com
'VBA VB.Net 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 |