Excel VBA에서 중복 제거
아래에서 우리는 Excel VBA 그 중복을 제거합니다..
상태:
A 열에는 10 개의 숫자가 있습니다. 이 번호에서 중복을 제거하고 B 열에 고유 번호를 넣을 것입니다.
1. 먼저, 네 개의 변수를 선언합니다. 부울 유형의 toAdd, Integer 유형의 uniqueNumbers, Integer 유형의 i 및 Integer 유형의 j.
2. 다음으로 첫 번째 숫자는 항상 "고유"이므로 첫 번째 숫자 인 A 열을 B 열에 씁니다.
3. 두 변수를 초기화합니다. 우리는 방금 B 열에 하나의 숫자를 추가 했으므로 uniqueNumbers를 값 1로 초기화합니다. 다음 숫자를 추가해야한다고 가정 할 때 toAdd를 True로 설정합니다 (물론 이것은 반드시 사실 일 필요는 없습니다).
toAdd = True
두 번째 번호가 "고유"한지 여부를 결정해야합니다. 이것은 매우 쉬운 방법으로 수행 될 수 있습니다. 숫자가 B 열에 아직없는 경우에만 두 번째 숫자를 B 열에 추가해야합니다.
4. 세 번째 숫자, 네 번째 숫자 등도 확인해야합니다. 이를 위해 For Next 루프를 시작합니다.
5. 이제는 프로그램의 가장 중요한 부분이되었습니다. 두 번째 숫자가 B 열의 숫자 중 하나와 같으면 (지금까지 고유 숫자가 하나뿐입니다)이 경우에는이 숫자를 추가하지 않으므로 False로 설정합니다 (고유하지 않음). ") uniqueNumbers는 여전히 1이지만 uniqueNumbers는 전체 목록이 될 수 있습니다.이 전체 목록을 확인하려면 For Next 루프가 필요합니다. 다시 추가 할 숫자가 숫자 중 하나와 같은 경우 이 목록에서 toAdd는 False로 설정되고 번호는 추가되지 않습니다. 다음 코드 행을 추가하십시오.
If Cells(i, 1).Value = Cells(j, 2).Value Then
toAdd = False
End If
Next j
6. toAdd가 True이고 False로 설정되지 않은 경우에만 Excel VBA는 B 열에 숫자를 추가해야합니다. 동시에 하나의 고유 번호가 있으므로 uniqueNumbers를 1 씩 늘립니다. 다음 코드 줄은 작업을 완료합니다.
Cells(uniqueNumbers + 1, 2).Value = Cells(i, 1).Value
uniqueNumbers = uniqueNumbers + 1
End If
7. 마지막으로 다음 번호 (세 번째 숫자)를 추가해야한다고 가정하고 toAdd를 True로 설정합니다. 다시 이것은 반드시 사실 일 필요는 없습니다.
8. 루프를 닫지 마십시오.
9. 매크로를 명령 단추에 놓고 테스트하십시오.
결과: